Adaptive search result user interface

ABSTRACT

A method and apparatus for an adaptive search user interface is provided. The user interface allows for search results to be customized by the user. The user interface includes a discovery bar of multimedia content that includes additional media content, advertisements, and features that are recommended to users. The discovery bar of multimedia content is customizable based upon user command input. The user interface also includes methods and graphical interface in which to resolve recording conflicts.

CROSS-REFERENCE TO RELATED APPLICATIONS; PRIORITY CLAIM

This application claims benefit to U.S. Provisional Application61/142,193, filed Dec. 31, 2008, the entire contents of which are herebyincorporated by reference as if fully set forth herein, under 35 U.S.C.§120.

FIELD OF THE INVENTION

The present invention relates generally to digital video recorders(“DVRs”).

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, it shouldnot be assumed that any of the approaches described in this sectionqualify as prior art merely by virtue of their inclusion in thissection.

The introduction of the DVR to the consumer world has revolutionized theway users watch and record television programs. DVRs eliminate many ofthe complications of VCRs and the need for video tapes. DVRs recordtelevision programs on a hard drive that is capable of storing a largenumber of television programs. Because DVRs are usually box-like inshape, and are often found sitting on top of the television sets towhich they are connected, DVRs typically are included in the broadcategory of devices now called “set-top boxes.” Much like VCRs, DVRsreceive one or more television signals (which may represent televisionprograms and/or movies) as input from cables or satellite dishes, (or,in some cases, unlike VCRs, from broadband network connections) and alsooutput television signals to a television set or other display.

A DVR's user can instruct the DVR to schedule, for recording, specifiedcontent that may be broadcasted or otherwise transmitted to the DVR atsome future time. Thus, the user can schedule the automatic recording ofthe content in advance of the time that the DVR will receive thecontent. For example, the user can instruct the DVR to recordunspecified content that will be broadcasted on a specified channelbeginning at a specified date and time and ending at another specifiedtime. For another example, the user can instruct the DVR to record aspecified showing (on a specified channel, and beginning at a specifieddate and time) of a specified movie, specified event, or specifiedepisode of a multi-episode television series. For another example, theuser can instruct the DVR to record the next to-be-broadcasted instanceof a specified movie, specified event, or specified episode of amulti-episode television series without specifying the date, time, orchannel on which that instance will be broadcasted. For another example,the user can instruct the DVR to record all (or all first-run) episodesof a multi-episode television series on a specified channel withoutspecifying the dates or times at which those episodes will bebroadcasted. For another example, the user can instruct the DVR torecord all (or all first-run) instances of movies, events, or episodesof a multi-episode television series that are associated with aspecified keyword, a specified actor, and/or a specified directorwithout specifying the titles, channels, or broadcasting times of thoseinstances.

Other consumer electronics devices also allow for the recording andviewing of content not based upon traditional broadcast or cabledelivery. For example, devices might obtain content via broadbandnetwork connections. Apple TV® is an example of this type of device.Users may purchase content over the network and have the content bedelivered based upon IP or any other communications protocol. Devicesthat employ Internet Protocol Television (IPTV) may also be used. IPTVis a system where a digital television service is delivered usingInternet Protocol over a network infrastructure. Rather than usingbroadcast or cable, all content is exclusively delivered over an IPnetwork architecture. An example of such a service is U-Verse® by AT&T®.Devices may also use a hybrid of IPTV and standard delivery. VerizonFiOS TV®, for example, delivers Video On Demand (VOD) content andinteractive features, over IP but the vast majority of content,including Pay Per View (PPV), is provided over a standard broadcastvideo signal which carries both analog and digital content. Otherdevices may act as a receiver to deliver content from a number ofdifferent delivery devices, such as DVRs, DVD players, IPTV, etc. thatare connected to the device.

Because of the wide variety of content that is available for viewingwith DVRs and any other device capable of storing and displayingcontent, searching for particular media or digital content has becomeincreasingly important. One difficulty of performing a search is theinability of users to easily type in letters corresponding to keywordsfor searching. Thus, methods that minimize the need to enter lettersthat correspond to keywords are important.

In addition, the adoption of high-definition televisions has changed howpeople are able to watch television. High definition television greatlyimproves picture quality, introduces a new aspect ratio to the image ofthe television, and has a higher screen resolution. Televisions anddisplay devices have a particular aspect ratio, or the ratio of thedisplay's width divided by the display's height. Common aspect ratiosfor televisions are 4:3 (1.33:1) for standard-definition video formatsand 16:9 (1.78:1) for high-definition television and European digitaltelevision formats. The aspect ratio allows for additional space onwhich to add additional features on the user interface. In addition, theresolution of the screen on a high definition television is greater thatallows a clearer picture for the viewer.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and not by wayof limitation, in the figures of the accompanying drawings and in whichlike reference numerals refer to similar elements and in which:

FIG. 1A illustrates an example system in which program data progressivesearch may be implemented, according to an embodiment of the invention;

FIG. 1B is a block diagram illustrating a general overview of thecomponents of a Digital Video Recorder (DVR), according to an embodimentof the invention;

FIG. 2 illustrates an example of a DVR-presented “Search” screen onwhich to initiate a search for media content, according to an embodimentof the invention;

FIG. 3 illustrates an example of a DVR-presented “Search” screen afterentering three letters for a search, according to an embodiment of theinvention;

FIG. 4 illustrates an example of a DVR-presented “Search” screen uponhighlighting an episodic television series from one of the possiblesearch results, according to an embodiment of the invention;

FIG. 5 illustrates an example of a DVR-presented “Search” screen uponhighlighting a non-episodic television program/movie from one of thepossible search results, according to an embodiment of the invention;

FIG. 6 illustrates an example of a DVR-presented “Search” screen uponhighlighting a person from one of the possible search results, accordingto an embodiment of the invention;

FIG. 7 illustrates an example of a DVR-presented “Search” screen uponhighlighting a third party advertisement or showcase from one of thepossible search results, according to an embodiment of the invention;

FIG. 8 illustrates an example of a DVR-presented “Search” screen uponhighlighting a song from one of the possible search results, accordingto an embodiment of the invention;

FIG. 9 illustrates an example of a DVR-presented “Search” screen uponhighlighting a downloadable content from one of the possible searchresults, according to an embodiment of the invention;

FIG. 10 illustrates an example of a DVR-presented “Search” screen uponhighlighting a tag from one of the possible search results, according toan embodiment of the invention;

FIG. 11 illustrates an example of a DVR-presented “Search” screen uponhighlighting the selection for “YouTube Results” from one of thepossible search results, according to an embodiment of the invention;

FIG. 12 illustrates an example of a DVR-presented “Search” screen uponhighlighting the selection for “Wishlist” from one of the possiblesearch results, according to an embodiment of the invention;

FIG. 13 illustrates an example of a DVR-presented screen that displayssearch options that may be updated for a search, according to anembodiment of the invention;

FIG. 14 illustrates an example of a DVR-presented screen that displaysinformation for an episodic television series based upon seasons andepisodes, according to an embodiment of the invention;

FIG. 15 illustrates an example of a DVR-presented screen that displayscast data for an episodic television series, according to an embodimentof the invention;

FIG. 16 illustrates an example of a DVR-presented screen that displaysdata of guest stars for an episodic television series, according to anembodiment of the invention;

FIG. 17 illustrates an example of a DVR-presented screen that displaysdata of related media content for an episodic television series,according to an embodiment of the invention;

FIG. 18 illustrates an example of a DVR-presented screen that displaysbonus features for an episodic television series, according to anembodiment of the invention;

FIG. 19 illustrates an example of a DVR-presented screen that displaystags for an episodic television series, according to an embodiment ofthe invention;

FIG. 20 illustrates an example of a DVR-presented screen that displaysrecording conflicts, according to an embodiment of the invention;

FIG. 21 illustrates an example of a DVR-presented screen that displaysrecording conflicts where a media content may be clipped, according toan embodiment of the invention;

FIG. 22 illustrates an example of a DVR-presented screen that displaysrecording conflicts with a Season Pass, according to an embodiment ofthe invention;

FIG. 23 illustrates an example of a DVR-presented screen that displaysrecording conflicts with a Season Pass where media content may beclipped, according to an embodiment of the invention;

FIG. 24A illustrates an example of a DVR-presented screen that displaysrecording conflicts with a Season Pass where the selection to record allepisodes of the Season Pass is highlighted, according to an embodimentof the invention;

FIG. 24B illustrates an example of a DVR-presented screen that displaysrecording conflicts with a Wishlist, according to an embodiment of theinvention;

FIG. 25A illustrates an example of a DVR-presented screen that displaysrecording conflicts of a single tuner DVR within a graphical interface,according to an embodiment of the invention;

FIGS. 25B-C illustrate an example of a DVR-presented screen thatdisplays recording conflicts in a single time period for a DVR with twotuners within a graphical interface, according to an embodiment of theinvention;

FIGS. 25D-F illustrate an example of a DVR-presented screen thatdisplays recording conflicts in multiple time periods for a DVR with twotuners within a graphical interface, according to an embodiment of theinvention;

FIG. 26 illustrates an example of a DVR-presented screen that displaysrecording conflicts with a Wishlist where media content may be clipped,according to an embodiment of the invention;

FIG. 27 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where an episodic television showfrom the bar is highlighted, according to an embodiment of theinvention;

FIG. 28 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where an episodic television showfrom the bar is highlighted, according to an embodiment of theinvention;

FIG. 29 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where a movie/non-episodictelevision program from the bar is highlighted, according to anembodiment of the invention;

FIG. 30 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where a person from the bar ishighlighted, according to an embodiment of the invention;

FIG. 31 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where a third-partyadvertisement/showcase from the bar is highlighted, according to anembodiment of the invention;

FIG. 32 illustrates an example of a DVR-presented menu screen thatincludes the bar of multimedia content where a music song from the baris highlighted, according to an embodiment of the invention;

FIG. 33 illustrates how the bar of multimedia content is a carousel ofdifferent images and separated into viewable groups, according to anembodiment of the invention;

FIG. 34 illustrates an example of a DVR-presented menu screen that showshow video providers may be selected in searching, according to anembodiment of the invention;

FIG. 35 illustrates an example of a DVR-presented menu screen thatillustrates multiple providers available to obtain a particular mediaprogram, according to an embodiment of the invention; and

FIG. 36 is a block diagram of a system on which embodiments of theinvention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however,that the present invention may be practiced without these specificdetails. In other instances, well-known structures and devices are shownin block diagram form in order to avoid unnecessarily obscuring thepresent invention.

Embodiments are described herein according to the following outline:

-   -   1.0 General Overview    -   2.0 Structural Overview    -   3.0 Example Techniques and Processes        -   3.1 Adaptive Search Results        -   3.2 User Interface        -   3.3 Discovery Bar of Multimedia Content        -   3.4 Additional Features    -   4.0 Implementation Mechanisms    -   5.0 Examples

1.0 GENERAL OVERVIEW

The needs identified in the foregoing Background, and other needs andobjects that will become apparent from the following description, areachieved in the present invention, which comprises methods to performadaptive search results and user interface enhancements.

As the abundance of programming content proliferates, users may wish toperform searches on a DVR for particular programming content. Resultsthat the user may search include, but are not limited to, persons,program titles, music videos, or tags. Tags, as used herein, may referto a set of words, pictures or other media used to link various piecesof content. One drawback to performing searches on a DVR is thatentering letters for keyword search terms is cumbersome and slow. Usinga remote input device, a user may be presented with a screen thatcontains an alphabet and a selection square over a letter. The user maynavigate the selection square over a letter to select the letter. Oncethe letter is selected by the user, the letter would appear in a searchbox.

In an embodiment, as letters are entered into the search box, the DVRreturns potential results to the user that the user may then select. Inan embodiment, the letters in the search box corresponds to letters inthe search results. The corresponding letters may correspond to any partof the search results and not only the beginning letters of the searchresults. For example, the user might enter the letters “HOU” into thesearch box. Under this circumstance, the DVR would return results thathave the letters “HOU” somewhere in the results. Some results might be“Desperate Housewives” “House M.D.” “House Hunters” and “House onHaunted Hill.” If result choices were limited to only the beginningletters of a title, then “Desperate Housewives” would not be shown inthe list of potential results. In other embodiments, the correspondingletters may correspond to letters in a related term or concept. Forexample, the letters “SPO” that correspond to “sports” might also returnresults for “NFL football” because “NFL football” would be in the“sports” category. Results may also include persons, actors, tags, andmusic videos. Other categories may also be added or included in order toimprove search efficiency. Data searched may also include any programmetadata, such as program description information, as well as persons,actors, tags, and music videos.

In an embodiment, the search results presented to a user thatcorresponds to the letters in the search box are based at least in partto relevance. The relevance may be based upon many different factorssuch as actions performed solely by the user, or an aggregation basedupon the actions of many users. In an embodiment, the results are rankedbased upon selections of previous users with the particular searchletters. For example, the user might enter the letters “HOU” into thesearch box. “House M.D.” is the highest ranked program and is listedfirst because other users who have entered the term “HOU” into thesearch box selected “House M.D.” Over time, more users might select“Desperate Housewives” after entering the search term “HOU”. Under thiscircumstance, the system would determine that “Desperate Housewives” ismore relevant and would be listed higher than “House M.D.”

A larger available space on which to display information allows moreinformation to be shown without changing screens. In an embodiment, whena user highlights a particular media content of possible search resultson a search screen, additional information is displayed about thehighlighted media content. If the screen display area were more limited,a user would be forced to select the possible search result and a changeof screen was required before displaying information, causing thetransition to be more difficult to follow by the user.

The user interface of a DVR is very important as the interface is theonly way in which a user may interact with the DVR. In an embodiment, adynamic content bar is placed on the user interface that allows a userto be presented with additional new content that may be of interest. Thecontent bar may show any number of available media contents in the bar,and these media contents may change from one viewing to the next. Thecontent shown may be content that is related to the media content thatthe user is searching, recommended programs, advertisements, popularcontent, recommendations from friends, and recommendations from trustedthird parties (e.g., Netflix, New York Times, etc.). The user may alsonavigate the content bar in a variety of ways such as, but not limitedto, moving the bar directionally to the left or the right. The bar willappear to move in that requested direction and new content will appearas the bar is moved by the user.

2.0 STRUCTURAL OVERVIEW

FIG. 1A illustrates an example system in order to perform adaptivesearch results and user interface, according to an embodiment. Thesystem contains at least one client device such as DVR 102 which iscommunicatively coupled to network 105 through any communicationinterface, such as an Ethernet interface or wireless communicationsport. The functionality of a DVR is typified in U.S. Pat. No. 6,233,389,which is owned by the Applicant and is hereby incorporated by reference.In another embodiment, DVR 102 is replaced with a device that is able toreceive content via broadband download or streaming. The device may becapable of receiving and decoding IPTV, a hybrid of IPTV and traditionalbroadcast, or any other network based communication protocols. Thesystem also includes service provider 104, content provider 106,personal computer 108 and portable device 110.

Personal computer 108 may be a personal computing device, such as adesktop computer or laptop computer, and is also coupled to network 105through any communications interface, including wireless. Portabledevice 110 may be any handheld computing device, cellular phone,portable media player, or any other portable device capable ofdisplaying multimedia content and may be coupled to network 105 throughany communications interface, including wireless. DVR 102, personalcomputer 108, and portable device 110 each communicate with serviceprovider 104 through network 105. In another embodiment, DVR 102,personal computer 108, and portable device 110 each communicate withcontent provider 110 through network 105.

Network 105 may be implemented by any medium or mechanism that providesfor the exchange of data between devices in the communication system.Examples of network 105 include, without limitation, a network such as aLocal Area Network (LAN), Wide Area Network (WAN), the Internet, one ormore terrestrial, satellite or wireless links, etc. Alternatively oradditionally, any number of devices connected to network 105 may also bedirectly connected to each other through a communications link.

In one embodiment, content provider 106 provides broadcast programcontent to DVR 102 via cable, satellite, terrestrial communication, orother transmission method. Broadcast program content may include anymultimedia content such as: audio, image, or video content. In anotherembodiment, content provider 106 provides multimedia content, such asany downloadable content, through network 105 to DVR 102, personalcomputer 108, or portable device 110.

In one embodiment, DVR 102 communicates with service provider 104, whichprovides program guide data, graphical resources (such as fonts,pictures, etc.), service information, software, advertisements, eventidentification data, and other forms of data enable DVR 102 to operateindependently of service provider 104 to satisfy user interests. Inanother embodiment, DVR 102, personal computer 108, and portable device110 can communicate with each other to transfer content, metadata, orany other data through network 105, communication connection, or anylocal network.

In another embodiment, content provider 106 may provide, to serviceprovider 104, content data or any metadata, including promotional data,icons, web data, and other information. Service provider 104 may theninterpret the metadata and provide the content data metadata to DVR 102,personal computer 108, or portable device 110.

Referring to FIG. 1B, in an embodiment, DVR 102 generally comprises aplurality of components, signified by Signal Converter 154, that arenecessary to digitize an analog television signal and convert it into adigital data stream or accept a digital data stream. An example of theinternal structure and operation of a DVR is further described in U.S.Pat. No. 6,233,389.

DVR 102 receives broadcast signals from an antenna, from a cable TVsystem, satellite receiver, etc., via input 152A. Input 152A maycomprise one or more of tuning modules that allow one or more signals tobe received and recorded simultaneously. For example, a TV input streamreceived by input 152A may take the form of a National TelevisionStandards Committee (NTSC) compliant signal or a PAL compliant broadcastsignal. For another example, a TV input stream received by input 152Amay take a digital form such as a Digital Satellite System (DSS)compliant signal, a Digital Broadcast Services (DBS) compliant signal,or an Advanced Television Standards Committee (ATSC) compliant signal.DBS, DSS, and ATSC are based on standards called Moving Pictures ExpertsGroup 2 (MPEG-2) and MPEG-2 Transport. MPEG-2 Transport is a standardfor formatting the digital data stream from the TV source transmitter sothat a TV receiver can disassemble the input stream to find programs inthe multiplexed signal.

An MPEG-2 transport multiplex supports multiple programs in the samebroadcast channel with multiple video and audio feeds and private data.Input 152A tunes to a particular program in a channel, extracts aspecified MPEG stream from the channel, and feeds the MPEG stream to therest of the system. Analog TV signals are encoded into a similar MPEGformat using separate video and audio encoders, such that the remainderof the system is unaware of how the signal was obtained. Information maybe modulated into the vertical blanking interval (VBI) of the analog TVsignal in a number of standard ways; for example, the North AmericanBroadcast Teletext Standard (NABTS) may be used to modulate informationonto certain lines of an NTSC signal, which the FCC mandates the use ofa certain other line for closed caption (CC) and extended data services(EDS). Such signals are decoded by input 152A and passed to the othermodules as if the signals had been delivered via an MPEG-2 private datachannel.

Recording Module 160 records the incoming data stream by storing thedigital data stream on at least one storage facility, signified byStorage 164A/164B that is designed to retain segments of the digitaldata stream. Storage 164A/164B may be one or more non-volatile storagedevices (e.g., hard disk, solid state drive, USB external hard drive,USB external memory stick, USB external solid state drive, networkaccessible storage device, etc.) that are internal 164A and/or external164B. A Signal Converter 154 retrieves segments of the data stream,convert the data stream into an analog signal, and then modulate thesignal onto a RF carrier, via Output 152B, through which the signal isdelivered to a standard TV set. Output 152B may alternatively deliver adigital signal to a TV set or video monitor. For example, DVR 102 mayutilize a Digital Visual Interface port (DVI) for sending digitalsignals to a TV via a DVI cable.

DVR 102 also includes a Communication Interface 162, through which theDVR 102 communicates with Network 105 via Ethernet, wireless network,modem, or other communications standard. Further, DVR 102 may beintegrated into a TV system such that the components described above arehoused in a TV set capable of performing the functions of each componentof DVR 102.

In another embodiment, DVR 102 generally comprises a plurality ofcomponents necessary to receive, record, store, transfer and playbackdigital data signals from a plurality of sources, such as a PC, a DVR, aservice provider, or content server. DVR 102 can transfer digital datasignals to another DVR or PC. DVR 102 may encode or decode digitalsignals via Encoder 156A and Decoder 156B into a plurality of formatsfor playback, storage or transfer. According to one embodiment of theinvention, encoder 156A produces MPEG streams. According to anotherembodiment of the invention, encoder 156A produces streams that areencoded using a different codec. Decoder 156B decodes the streamsencoded by encoder 156A or streams that are stored in the format inwhich the streams were received using an appropriate decoder. DVR 102can also encrypt or decrypt digital data signals usingEncryptor/Decryptor 158 for storage, transfer or playback of the digitaldata signals.

In another embodiment, DVR 102 is replaced with a device capable ofstoring and displaying IPTV or some other content available via networkdownload or streaming. The device comprises a plurality of componentsnecessary to receive, record, store, transfer and playback digital datasignals transmitted via IP or any other communications protocol. Thedevice may encode or decode digital signals into and from a plurality ofmedia formats for playback, storage or transfer. The device may alsoencrypt or decrypt the downloaded or streamed content for storage,transfer, or playback.

In one embodiment, DVR 102 communicates with Service Provider 104, whichprovides program guide data, graphical resources such as brand icons andpictures, service information, software programs, advertisements, andother forms of data that enable DVR 102 to operate independently of theService Provider 104 to perform autonomous recording functions.Communication between DVR 102 and Service Provider 104 utilizes a securedistribution architecture to transfer data between the DVR 102 and theService Provider 104 such that both the service data and the user'sprivacy are protected.

3.0 EXAMPLE TECHNIQUES AND PROCESSES 3.1 Adaptive Search Results

In an embodiment, a user may perform a search for media content, people,tags, or any other attributes associated with media content. The userbegins a search as the client device (e.g., DVR 102) displays a searchscreen. The user may navigate to the search screen based upon commandinput from a user. An example of the search screen is shown in FIG. 2that allows for the search of a word or phrase that corresponds toprogram data. In FIG. 2, the search screen is labeled, “Search” 202,however, this label may vary from implementation to implementation. Auser commences a search by submitting alphanumeric characters or symbolsusing a soft keyboard 204 that correspond to a particular search termwith which the user is interested. In another embodiment, user input maybe entered by various user input devices such as, but not limited to, akeyboard (IR, external USB, or built on top of the DVR), a remotedevice, or a pointing device.

In an embodiment, program data comprises program titles, people, tags,and metadata. In another embodiment, other categories of search criteriaare included or excluded based upon the services offered by the serviceor its partners and the availability of searchable data. As used herein,a “program title” refers to, but is not limited to, the title of atelevision show, movie, downloadable content, or any other viewablecontent available, to the user. This may include, but is not limited to,content that is available via broadcast, cable or satellite, contentthat is on-demand, content that may be downloaded for free, downloadedfor purchase, downloadable content for rent (content that may only beviewed for a limited time), or streamed content. As used herein, theterm, “people,” may be used to refer to any individual or character thatmay appear, or is involved in the production, of any available content.These may include, but is not limited to, actors, writers, directors,character names, or producers. An alternative term that may also be usedin place of people may be “credits.” The term, “tags,” as used herein,refers to a set of words, pictures or other media that may be associatedor related to one or more particular media content. Examples of tags maybe, but are not limited to, locations in which the content is set,genres to which the content belongs, or the subject matter associatedwith the content. The term “metadata,” as used herein, may refer to anyprogram metadata including description, genre, episode, originalairdate, or any data that may, in any way, refer to the program or adescription or category of the program.

To initiate the search for program titles, people, or tags, the userenters alphanumeric characters or symbols for the program title, person,or tag that the user wishes to query in search box 200. In anembodiment, as alphanumeric characters or symbols are entered in thesearch box, search results appear that conform to the alphanumericcharacters or symbols entered, as shown in FIG. 3. For example, if theuser enters the alphanumeric characters “H,” “O,” and “W,” then thesearch application would return results that include the download“Howcast” 302, actor/director “Ron Howard” 304, series “How I Met YourMother” 306, and non-episodic/movie “How to Lose a Guy in Ten Days” 310.In an embodiment, the search system differentiates the different typesof media content presented by placing a graphical indication of themedia content in proximity to the name of the media content. Forexample, next to actor/director “Ron Howard” 304 is a graphicalindicator of a person (a silhouette of a person) 320. A unique graphicalindicator may be shown for each type of media content. In anotherexample, a musical note graphic might be placed next to a song toindicate that the media content is a song, or a download graphic mightbe placed next to content that is available via download. Othergraphical indicators, or icons, may be used to indicate a particularcontent is a music video or a tag, or from a specific provider such asNetflix or YouTube. As the user enters the query in the query searchbox, this query is transferred from the client to a server which returnsthe search results for display by the client. In an embodiment, somesearch results may be cached on the client from data from the server tominimize data transfer in cases of repeated search queries. In addition,if a connection is unavailable between the client and the server, thenthe search application may not be available to the user. In otherembodiments, a set of popular search results may be cached on the clientfrom data from the server so that searches may be performed of popularcontent at the client when a connection to the server is unavailable.

As more alphanumeric characters are entered, the results of the searchare correspondingly narrowed. For example, the alphanumeric characters“[space]” and “I,” might be added to the alphanumeric characters “HOW”that were entered previously. This makes the search query term “HOW I.”Under this circumstance, the television series “How I Met Your Mother”306 would remain. However, actor/director “Ron Howard” 304, download“Howcast” 302, and movie “How to Lose a Guy in Ten Days” 310 would beremoved because each of these entries do not contain the search queryalphanumeric characters “HOW I.”

In an embodiment, the results displayed do not begin with thealphanumeric characters that are entered by the user, but merely containthe alphanumeric characters somewhere within the search result. Forexample, if a user enters the alphanumeric characters “ERI”, then inaddition to the result “ERIN BROCKOVICH”, that begins with “ERI,” otherresults that merely contain the alphanumeric characters “ERI” would alsoappear. For example, another search result that might appear would be“AMERICAN IDOL.”

Search Results do not Match Letters Entered

In an embodiment, the search query entry letters entered are notcontained in the search result but are associated with the search resultin some manner. This may occur by entering an acronym of the televisionseries title. For example, a user might enter the search letters “OLTL”that corresponds to the first letter of each word of the soap operaseries “One Life To Live.” The alphanumeric characters entered may alsonot conform exactly to the acronym of the title or may include symbols.For example, the user might enter the search term “Y&R” for the soapopera series “Young and Restless.” In another example, advertising taglines might be entered. For example, a user might enter the searchletters “T2” upon a search for “Terminator 2: Judgment Day” and “T3” forthe movie, “Terminator 3”. Upon these circumstances, the search systemis able to return possible search results that do not correspond toletters in the title but to groups of letters that are associated insome way to the title of programming content.

In an embodiment, words for numbers may also return the same results asif the user submitted the number in the search box. For example, theuser may be interested in the movie “12 Monkeys.” The search system willreturn the probable result “12 Monkeys” whether the user enters “TWELVE”or “12.” In another embodiment, numbers may also be substituted for theequivalent word. For example, a user might be interested in the movie“Seven.” The possible search result will be returned if the user enters“7” or “SEVEN”.

In an embodiment, a user may enter search query letters that correspondto words that are associated with programming content and the searchsystem returns possible search results that are associated with thewords. For example, a user might enter the search letters “ANIME” inorder to search for Japanese animated series. Under this circumstance,results returned may include a tag entitled “animation” and then the twomost popular Japanese animated series. In another embodiment, paidsearch advertisements may be shown that relate to the search queryletters entered or words entered by the user. Under this circumstance,advertisers might pay to include the advertiser's content in the resultsthat are related to a particular word entered. A user might enter thesearch term “car” to find content related to television programmingabout automobiles. Toyota might pay the service provider to display alink to content that promotes Toyota's new line of automobiles if theterm “car” is entered by a user.

In another embodiment, rather than displaying search results thatconform to all of the possible categories (people, program, and tags), auser selects a particular category in which to display possible results.For example, a user might limit search results to only people. Thus,when search results that conform to the alphanumeric characters of thesearch query that are entered by the user are displayed, the resultsthat appear conform to the category “people” and to the alphanumericcharacters entered for the search query. In other embodiments, multiplecategories (“people” and “program titles”) may be selected by the userfor display.

In yet another embodiment, the search may be limited to exact matches.Under this circumstance, no search results that conform to the searchquery are shown as the search query is entered. Rather, once the userhas entered the alphanumeric characters for the entire query, the userselects a submit button, or any other such signal to indicate that thesearch term is to be submitted, and results that conform to the searchquery are then shown. This may speed searches as results are not updatedupon the entry of each alphanumeric character of the search.

Managing Adaptive Search Results

On television user interfaces, a user often does not have a fullkeyboard available. If the user only has a standard remote control inorder to input characters, then a “soft” keyboard may be employed toenter alphanumeric characters. A soft keyboard, as used herein, is akeyboard that is listed on-screen. An example is shown in FIG. 2. A usermust highlight and select each character in order to enter the characteron-screen which is tedious. Minimizing the number of alphanumericcharacters entered is important for a good user experience. Users maytype the first few letters when searching for a particular show. Theletters entered may not be the start of the title, or possibly even thestart of any word in the title. Other users may enter alphanumericcharacters for terms that relate to the media content interested.

In any case, listing probable search results sorted based only uponalphabetical listings may result in listings where relevant searchresults appear lower on the list of possible search results. Whensearching for a result in a large data set, providing sorting based uponrelevancy on the possible results may make the search more efficient.For example, a user might enter the search letters “HOW” with theintention of finding the person “HOWARD STERN.” If the list of possibleresults were alphabetical, then “HOWARD STERN” might be listed belowentries for “HOW I MET YOUR MOTHER”, “HOW TO LOSE A GUY IN 10 DAYS,” and“RON HOWARD.” To select “HOWARD STERN,” a user would have to move thecursor down over the other entries in order to make the selection. Ifmany users who entered “HOW” also selected “HOWARD STERN,” then placing“HOWARD STERN” higher in the possible results would be more efficient.This efficiency is further improved if “HOWARD STERN” begins to appearwhen a user merely enters the letters “HO” or “H.”

In an embodiment, a new search request is sent from the client to theserver upon the client receiving each letter request from a user. Thus,a search is performed when “H” is entered. When a user enters “O” sothat “HO” appears in the search box, a new search is sent from theclient for the query “HO.” In an embodiment, the search results of “HO”is a subset of the search results from “H” but the relevance rankings ofeach of the search results with respect to the query entered may bedifferent. For example, users entering “HO” may most likely pick “HOWARDSTERN” while those that enter “HOW” may most likely pick show “HOW I METYOUR MOTHER”, even though “HOWARD STERN” and “HOW I MET YOUR MOTHER”share the same three character prefix. In an embodiment, if two itemshave the same relevance ranking, then secondary sorting methods may beapplied such as alphabetically, based on original air date, or any othercriteria.

As the measure of relevancy improves, the desired answer will appearnearer to the top of the list of possible results. More accuraterelevancy results in fewer letters required to be typed by the user andthe desired results being found quicker. In an embodiment, all searchesperformed by users on the user interface are monitored and stored by adatabase. A correlation is stored between the one or more charactersthat are entered and the particular media content, person, or tag thatis eventually selected by the user. Thus, using the example above, acorrelation would be stored of “HOW” (the letters entered by the user)and “HOWARD STERN” (the result selected by the user). In an embodiment,“selection” may mean an action or receiving command input by the user tothe DVR that shows interest in a particular media content. Variousactions may be interpreted at different levels of interest, and havecorrespondingly different weights on the relevancy feedback algorithm.For example, receiving command input at the DVR of pausing to readrollover information demonstrates a minimal level of interest. Receivingcommand input to display the program details shows greater interest.Receiving command input to schedule a recording for the show evengreater interest, and receiving command input to watch the recorded showlater even more interest. By taken into account more granularinformation about the interest shown by a user to a particular mediacontent, more accurate rankings may be determined for the searchresults.

In an embodiment, a matrix is generated with character prefixes. Eachprefix contains an order of media content, persons, tags, or any otherdata associated with media content stored in the matrix, sorted by thepopularity of users selecting or showing interest in a particular showupon entering that prefix. The results presented to the user are sortedso that the media content, person, or tag with the most selections madeby users appears at the top of the list. Thus, as users select “HOWARDSTERN” with more and more frequency when entering the letters “HOW,”“HOWARD STERN” would rise in the rankings for the character prefix“HOW”. In an embodiment, “HOWARD STERN” would also rise in the rankingsfor the character prefixes “HO” and “H” when a user selects “HOWARDSTERN” when entering the letters “HOW.” This would cause “HOWARD STERN”to appear higher as a user begins to enter “HOW” so that it is morelikely that fewer letters may have to be entered by the user.

In an embodiment, the correlation matrix stores mappings for characterprefixes of one, two, three, and more characters to the user selections.In an embodiment, as the user types, the most relevant matches for agiven prefix are presented to the user. The results would be reorderedupon entry of an additional letter. If there are insufficient matches tofill the screen, then a backup ordering based on existing searchalgorithms, including but not limited to, word prefix matching andalphabetical sorting would be used to fill the remainder of the resultslist after having satisfied as many entries as possible within therelevancy results.

In an embodiment, different scenarios of selections of items may affectrelevance rankings of items in different ways. In this example, Pa(n)and Pb(n) are the number of picks or selections of item A or item Bafter n characters are received. If Pa(2)>Pb(2), butPa(2)+Pa(3)<Pb(2)+Pb(3), item B is ranked higher than item A for both 2and 3 character searches, as more users had to enter 3 characters toselect item B than selected item A after 2 characters.

In another scenario, if Pa(2)>Pb(2), Pa(3)<Pb(3) andPa(2)+Pa(3)>Pb(2)+Pb(3), then item A is ranked higher than item B for 2character searches, but item B would be ranked higher than item A for 3character searches, as users selected item A after 2 characters, but forthe small number of users that entered 3 characters, the users selecteditem B. Finally, if Pa(2)>Pb(2) and Pa(3)>Pb(3), then item A would havea relevance ranking higher than item B for both 2 and 3 charactersearches. This is because, regardless of the number of charactersentered, users selected item A more frequently.

In an embodiment, the correlation matrix is updated on a frequent basisbased on selections made by users. The correlation matrix may be updatedbased upon a specified period, such as weekly, daily, or hourly. Thecorrelation matrix may also be updated dynamically as each user enters aselection. The correlation matrix is then continually updated with themost relevant selections placed at the top of the possible results list.In order to remove stale results, or results or selections that havebeen made some time ago, results may be removed if the result is olderthan a specified period to account for newly popular shows not gettingvisibility due to older frequently searched programs. For example,results greater than 90 days old may be removed from matrix so that thecorrelations remain relevant. The specified period may change based uponthe implementation.

Generating a correlation matrix and sorting the possible results listbased at least upon the correlation matrix is able to respond quickly tochanges in user preferences. As new user data of correlations of lettersand selections is received, the correlation data is updated with the newdata. Continually updating the matrix with new data from users as theymake new selections and re-sorting the relevant the possible resultslist creates a feedback loop that keeps the most relevant selections atthe top of the list using the most current data.

In an embodiment, newly available media content as possible searchresults may be first provided a neutral relevance ranking. When the rateof selection of the content is accounted, then the media content may bemoved up or down the rankings.

There are several methods by which a newly implemented system may haverelevancy rankings considered. In an embodiment, a newly implementedsystem may be seeded from historical selection rate data collectedbefore relevancy ranking was enabled. In other embodiments, every itemcould be given an equal neutral relevancy score at the start. After sometime, users would select some items more than other and a useful rankingwould naturally emerge. In another embodiment, relevancy rankings may berandomly assigned, and then users select items to improve the rankingscores. However, this method may create strange results initially asunpopular items may be ranked highly. Over time, rankings would improveas the ranking of items that were randomly assigned too high woulddecrease, and the rankings of items randomly assigned too low wouldincrease.

In an embodiment, a measure of the rate of change of shows popularity orrecent frequency of user selection should be used to adjust the rawpopularity score up or down in the relevancy ranking. By measuring therate of change, and including the rate of change as a criterion forranking possible search results, newly popular shows or media contentmight be placed high is the results list.

In an embodiment, results may be moved quickly up or down a set ofresults based upon the change in selection or click rates that occur.This indicates when a show or series is “hot”, and many people beginselecting the show after a period of relative stability in selecting.This may occur, for example, with annual broadcasts of award shows, suchas the Academy Awards. Generally, a user may not select the result of“Academy Awards” until the air date of the broadcast is relativelyclose, such as late February or mid-March of any given year. After aperiod where little user selections are made of the Academy Awards, moreand more users begin selecting the Academy Awards when the airdateapproaches. The result “Academy Awards” will move up the results listbecause of the increased selecting. The change in selection or clickrates may increase the movement of the “Academy Awards” even more asthis indicates that the show is “hot” and popularity is increasing.There is a difference in the selection or click rates that indicatepopularity, and a change in selection or click rates that indicateincreasingly popularity. A popular show, such as “NCIS” may consistentlyhave a high selection or click-through rate week to week but theselection or click-through rate itself may not change very much. Thiswould indicate the show is popular. However, a show that occurssporadically, may have a low selection or click-through rate throughmuch or the year, but show a large change in selection or click-throughrates in February and March as Oscar buzz increases. This change inselection or click-through rates shows increasing popularity and mayindicate that the show should be moved up in the result rankings muchmore quickly.

The opposite may also hold true and a change in the negative directionmay occur once the Academy Awards show is completed. A negativeselection or click-through rate change may indicate a decreasingpopularity or that the show is “cold” and be moved down the relevancerankings at a faster rate than warranted based upon only the selectionor click-through rate.

In an embodiment, a relevancy matrix that is unique to each user isused. In a custom matrix, weighting the prefix to show mappings fromusers with similar thumbs ratings or who are listed as friends or guruguides of the user are weighed higher than those of the generalpopulation. This allows users in similar affinity groups to furtherrefine the prefix to show mappings within their own groups without asmuch distortion from people with different interests. For examples, auser might enter the letters “HOU” as a prefix for a search term. Underthis circumstance, one affinity group would map “Desperate Housewives”as the most popular while a different affinity group would map “HouseMD” as the most popular. By refining the user to specific group, moreaccurate and likely results would be displayed.

Affinity mappings are not limited to similar ratings on contents but maybe grouped by other factors. In another embodiment, affinity mappingsare made based upon demographic or geographic information.

Possible search results may also be affected by the time of year, timeof day, or day of the week. For example, if a search is performed on aFriday evening, it might be more likely that the user is searching for amovie to watch. Under this circumstance, movies might appear higher inthe possible search results than if the search was performed on aTuesday afternoon. In another example, results for “sports” would havemore sports that are in season placed higher in ranking. The results for“sports” in the fall would list football higher in the results asprofessional football is played in the fall.

In an embodiment, relevance feedback is not limited to user feedbackfrom users of DVRs. Rather, feedback is considered from any possiblesource. For example, user feedback may be considered that originatesfrom searches made on a website, a mobile communications device, or anyother type of input device upon which searches may be performed.

In an embodiment, the service provider may sell feedback from users tothird party entities who wish to use the data in the third partyentity's search results. The service provider may aggregate data fromall users and remove user identification data to ensure anonymity. Thirdparty entities may then present more accurate results based at leastpartially on the data provided by the service provider. In anembodiment, the service provider may request that feedback from users ofthe third party entity be supplied to the service provider. The serviceprovider may also provide data to the third part entity and not requestany further data back from the third party entity.

Grouping Relevancy Search Results

In an embodiment, relevancy may apply to a cluster of content that sharea common trait. This may be referred to herein as “group relevancy.” Forexample, all content related to ‘Star Trek’ might be grouped togetherand treated as a group when relevancy sorting. When any of the relevancygroup is a possible search result, all of the associated content in thatgroup is included. Thus, when a Star Trek movie is a possible result,other content in the group “Star Trek” (old Star Trek series, old StarTrek movies, documentaries, etc) are also included in the possiblesearch results. The grouping may be performed in a variety of methodsand includes, but is not limited to, matching titles, matchingadditional metadata from a third-party source, connectors, connected byseries. Also, a selection or determination of interest of a singlecontent within a particular group would be determined as interest in theentire group. Grouping may be based on common traits such as, but notlimited to, title, series, actors, director, writer, creator, genre, ortag. In an embodiment, the determination of contents within a particulargroup may not be automated, but instead be a manual process. This may beperformed based upon third party descriptions or any other methods forfinding similar content.

In an embodiment, when the grouping is performed, the items placed inthe grouping are given the same relevancy ranking as the highest rankeditem in the group. Thus, for example, if a search is performed for “StarWars,” then all of the other items that are grouped together with StarWars are also given the same relevance ranking as the highest ranked ofthe Star Wars. If “Star Wars: The Empire Strikes Back” is the highestranked item returned, the prequel “Star Wars: The Phantom Menace,”featuring Jar Jar Binks would also obtain the same relevance ranking as“Star Wars: The Empire Strikes Back.” In an embodiment, the itemsincluded in the grouping may be limited in order to ensure that onlyhighly ranked items are included in the grouping. In an embodiment,groupings may be limited to items that reach a threshold ranking. In anembodiment, an item may be added to the grouping only if the item has arelevance score that is within a pre-determined threshold of the highestranked item within the group. Limiting the number of groupings increasesthe diversity of the result set on the initial page of results. Forexample, a search query of “Star” may populate the entire first pagewith entries for “Star Wars” including less popular titles that are notrelevant to most users. A user who is searching for “Star Trek” wouldhave to navigate to a second page of results or add more letters to thesearch query. Limiting the groupings to increase diversity of resultscorrects this problem.

In an embodiment, groupings occur based upon an exact match of titlesbetween the items that are placed in the groupings. In anotherembodiment, the match of titles may not be an exact match, but similarmatch of titles. In another embodiment, metadata other than titles areused to group items together. This may occur where a sequel to aparticular movie may not have the same title as a predecessor. Forexample, the sequel to the movie “Mad Max” is “Road Warrior.” Under thiscircumstance, other metadata, such as the lead actor, Mel Gibson, may beused to group these movies together. As another example, the sequels tothe movie “First Blood” may or may not contain the terms “First” or“Blood.” The sequels are “Rambo: First Blood Part II”, “Rambo III”, andthe fourth movie “Rambo.” If only titles were used to find groupings,then the third and fourth movie of the Rambo franchise would not appearwithin the grouping.

In an embodiment, groupings are only made of the highest ranked item inthe relevancy list. In another embodiment, groupings are made of apre-determined number of items that are the highest ranked. In yetanother embodiment, every result is grouped based upon some criteria ofthe items.

In an embodiment, titles with an exact match are grouped together. Thismay occur as a result of an identification number given to media contentby a third party. For example, a service provider may employ a thirdparty entity in order to provide the service provider with informationabout programming content that is to be shown in an electronicprogramming guide, such as the Tribune Company. Each entry in theprogramming guide may be assigned an identification number by the thirdparty entity that is used by the service provider to identify aparticular episode or show. The service provider may also provide theseshows to users through download or streaming through another third partycontent provider, such as Amazon. The third party content provider mayassign an identification number to programming that may be downloaded.The identical content, one downloadable and the other available in theelectronic programming guide to be broadcast may not be placed togetherin a result as the identification for the broadcast may be differentthan the identification number used for the download. Hence, by matchingentries by an exact match of titles as well, identical content isgrouped together for viewing and selection by a user.

In an embodiment, groupings may be made using any form of association ofone particular media content to another media content. For example,associations that may be used to group content include, but is notlimited to: matching titles, matching any type of metadata associatedwith the content (such as, by actors, writer, producer, etc.), orconnectors. As used herein, a connector is an association made betweentwo objects. For example, family members (e.g. the Kardashians) may beassociated with other family members. In another example, if two actorswere dating, an association may be made between the two actors.Connectors are not just limited to people but may be television programsconnected to movies. For example, the show “Firefly” might be connectedto the movie “Serenity” as the movie is a spinoff of the show.Similarly, shows or productions that originate from the same creator(e.g., all Joss Whedon shows, or all J. J. Abrams shows and movies) mayalso be connected together. Groupings may also be based upon a userfeedback loop. For example, if users often select the same two showsbased upon a common search term, then the two shows may be groupedtogether for other searches.

In an embodiment, a user may manually select how he wishes the searchresults to be grouped. For example, a user might indicate a preferencethat no groupings take place. A user might also indicate that groupingonly occurs based upon particular criteria, such as by only matchingtitles or only matching metadata based upon the primary actor of theseries. In another embodiment, grouping is performed automatically withno input from the user. Under this circumstance, the user is unable tochange how the groupings occur and may be altered by the serviceprovider at any time.

Preferences and Types in Displayed Search Results

In an embodiment, the search results shown are only of shows that areavailable to user, either through download, or broadcast on a channelthat that is available to subscriber. In another embodiment, searchresults shown include shows that may be shown on channels that the userdoes not currently receive. For example, the result might include a showthat is shown on a premium pay channel, such as the television series“Dexter” shown on Showtime. Under this circumstance, the user might beshown how to subscribe or other subscription options in order to gainaccess to the channel in order to view the show. In an embodiment,results of shows that are not currently available to the user may beplaced in a section that is separate from results that are of programsthat are available to the user. For example, a line may separate theshows that are currently available with the shows that are not currentlyavailable. In an embodiment, the shows that are not currently availablemay also be shown at the bottom of the results screen. In anotherembodiment, shows that are not currently available are mixed with theshows that are available and are shown in the same order as relevance.Under this circumstance, the shows that are not currently available mayhave a graphical icon to indicate that the show is not currentlyavailable. In addition, a program shortcut may be made to media contentthat is currently not available in order to obtain the media content inthe future. Program shortcuts are further described in U.S. patentapplication Ser. No. 12/433,831 filed Apr. 30, 2009, and is incorporatedby reference herein.

In an embodiment, matches that are not based upon the title may beincluded in a separate section below the relevant results. For example,a user may not recall the title of a particular show he is interested inbut recall a term that may be in the program description of the program.A user might enter the term “Jack” as a start to the terms “Jack Bauer”(a character in the television series “24”) because the user is unableto recall the show name “24”. The show “24” may appear in an areaseparate and distinct from the relevant search results. The 1996 movie“Jack” starring Robin Williams as a character with an unusual agingdisorder that ages him four times faster than a normal human, may be thefirst result in relevant results as the title matches the search termentered by the user. The appearance of results that match non-titles mayappear below or in any other separate area from the relevant results,and be based upon any other matching criteria such as to any type ofmetadata associated with programming content (e.g., episode title,actors, character names, etc.).

In an embodiment, the alternate result set may be sorted in any numberof ways. For example, the results may be shown sorted alphanumerically.As another example, the alternate results may also be sorted based uponrelevancy or popularity. Any type of sorting technique may be employedwith the alternate result set. Hybrid sorts may also be employed wherebya result set is first sorted based upon relevance, and then anyprogramming content that has identical relevance scores are then sortedalphanumerically. In an embodiment, a user may indicate a preference onwhich type of sorting the user wishes the results to be shown.

In an embodiment, when a result set is shown, related video that isavailable via broadband download or web streaming is integrated with therelevance search results. For example, in a search for “Star Wars”, fanvideos that might be uploaded to the website, YouTube, may appear alongwith broadcast “Star Wars” programs and movies. In an embodiment, theweb video content may be integrated with the other relevant contentprogramming results in a variety of ways. In an embodiment, web videocontent may be shown based purely on relevance score and be shown withinthe results of other content programming. Web video content may have agraphical indicator shown in proximity to the title of the video contentto indicate that the video content is streamed or downloaded from theWorld Wide Web. In an embodiment, web video content may be shownseparate from the relevant results. Within the separate results, the webvideo content may be sorted based upon any criteria, including, but notlimited to, alphanumeric order, or popularity that may be based on totaldownloads or downloads for a recent time period.

In an embodiment, a selection of viewing web video content may alsoaffect the associated broadcast content. For example, if many usersselect a particular web video associated with the television show“Glee,” then the popularity of the web video might also be used toincrease the relevance of the underlying broadcast television show. Thepopularity of the associated web video may be considered in a variety ofways. For example, the number of selections to the associated web videomay simply be counted as a selection to the underlying television show.The number of selections might also be added to the selections of theunderlying associated broadcast content to increase the ranking of thebroadcast content. In other embodiments, selections of web video contentmay not have any effect on the relevance of associated broadcastcontent.

Displaying Media Content Outside of Current Broadcast Window

In an embodiment, media content may be shown as search results that arenot contained in the current broadcast window. Many electronic programguides may only contain information that is available for a certainperiod of time (e.g. the next 14 days of scheduled programming). Usersmay wish to view search results for programs that have been broadcastpreviously (historical data) and also for programs or movies that willbe shown or broadcast in the future beyond the current broadcast window.For example, newly released movies will often be broadcast on a futuredate far beyond the 14 day current broadcast window.

In an embodiment, historical data is available to users at a nationallevel. Many service providers are nationwide providers that containschedule data that are unique to regional areas. For example, in the SanFrancisco Bay Area, a television program may be regionally focused aboutthe Napa Wine Country that may not be shown in other areas of thecountry. In order to maintain a database of historical data that isaccessible and does not grow unwieldy with many regional shows that arenot broadcast nationally, the service provider may limit historical datato only nationally broadcast television programming.

In another embodiment, the historical data may be available to users ata regional level. Under this circumstance, historical data is availableto users based upon what has been broadcast to that particular area.Thus, national broadcast programming may be combined with regionalprogramming specific to the region of the user in order to provide datato users of any show that has been broadcast to him previously. This mayentail the service provider handling exponentially larger amounts ofdata than merely providing nationally-broadcast shows, but would presenta more complete picture of total broadcasts that the user has received.For example, a television show about South Carolina may not have anyrelevance to viewers in South Dakota. However, for the service providerto provide complete schedule data nationwide, the service provider wouldstill have to store and maintain the television show about SouthCarolina. In an embodiment, the service provider may limit the amount ofregional shows stored as historical data. For example, news programsmight be removed from historical data as news programs typically have nochange in program information from one day to the next.

In an embodiment, not all metadata about the television program isstored as historical data. For example, the television program datastored may be limited to title, air date, and a brief description toalso limit the amount of data that is stored. Other combinations ofmetadata maintained such as actors and genre tags may also be includedor excluded depending upon the implementation. Based upon the datastored, the user may only perform a search based upon data that isavailable. For example, if the service provider has decided that actorswill not be maintained with the television program in historical data,the user may search by title or program description but not be actor.Thus the search criteria available to a user will also vary fromimplementation to implementation.

In an embodiment, a persistent data object is stored for media contentthat is to be broadcast beyond the current broadcast window. A thirdparty provider of scheduling data may assign identification data to amovie or annual sporting event well in advance of the actual broadcastof the movie or sporting event. In another embodiment, theidentification number may also be assigned by the service provider orcontent providers. For example, a movie that is scheduled to be releasedin theaters one month from the present may be assigned by the thirdparty schedule data provider an identification number in anticipationthat the movie will be broadcast in the future. This would allow a userto view a newly released movie at a theater and set an alert orbookmark, to inform the user when that newly released movie is set to bebroadcast within the current broadcast window. Other programming towhich this may be applied include, but is not limited to, new Fallnetwork programming upon announcement, future Super Bowls, future awardsshows, and announced one-time sporting events such as a highlyanticipated boxing match.

In an embodiment, the persistent data objects may be stored in adatabase separate from the schedule data. The separate database enablesthe service provider to keep distinct, programs that are to be shownfurther in the future. When a show or movie is scheduled and the show ormovie is within the current broadcast window, the persistent data objectmay be transferred from the database specific to future schedule data.In an embodiment, the persistent data object is maintained when storinginformation as historical data.

Displaying and Selecting Sub-Genres

In an embodiment, search results that are displayed based upon aparticular genre may be further discriminated by the sub-genre that auser prefers. For example, a user may be partial to honor films, butdislike honor films specifically about zombies. Under this circumstance,when search results are shown for this particular user upon a search for“honor”, zombie films are excluded from the search results. Thepreferences of the user may be detected based upon the viewing habitsand results of previous selections. The user may also explicitly specifythat he does not like zombie movies.

Granting Higher Relevance Scores without Feedback

In an embodiment, content may be artificially granted a high relevancescore. This may occur when a new television show is set to debut andthere may be little chance for the television show to have any sort ofrelevance score. By granting a high relevance score, users may be ableto find the show more easily for viewing. For example, a debut of atelevision show may be made artificially “hot” and placed at the highestrelevancy rank for the two weeks prior to the television show's debut.In an embodiment, a service provider may initially provide newtelevision shows with a boost in relevance scores so that the televisionshows may be found more easily by potential viewers. In an embodiment, aservice provider may request financial consideration from a contentprovider in order to grant a high relevance score. A service providermay boost the relevance score of any existing show or movie as well. Forexample, a content provider may be trying to increase the audience for aflagging show by having exciting guest stars and to increase thevisibility of the show, the content provider may sponsor the show toappear higher in relevance rankings.

In an embodiment, sponsored shows may be displayed in a separate sectionfrom the rest of the relevance ranked content in order to delineate thatfinancial consideration was accepted for the show to appear so high. Aservice provider might also place a graphical indicator near the titleof the new show to indicate that the program ranking is high due tosponsorship.

3.2 User Interface

In an embodiment, the user interface may be a three column format inwhich a selection may be highlighted on the center column, and theninformation that appears based upon that selection appears on the rightcolumn. However, any term may be used that unambiguously describes theright area of the screen. For example, when the cursor is over “How IMet Your Mother,” on the center column, then information about the show“How I Met Your Mother” is shown on the right column. The structure ofthe user interface may vary from implementation to implementation. Forexample, as data related to the content might be displayed in the leftcolumn and content related to the selected data might be displayed inthe right column. In other embodiments, there may be greater than threecolumns with further information about the show included in theadditional columns.

In an embodiment, the user moves the highlight bar over a particularmedia content and information and terms about the content may be shownon the column at the right area of the screen. The soft keyboard and thesearch box remain on the left side of the screen and may be modified atany time. An example of selecting a particular media content is shown inFIG. 4 as the cursor is placed over the content television series “How IMet Your Mother” 402. The right area of the screen displays informationand terms about the television series “How I Met Your Mother”. Theinformation displayed after a selection is made of media content variesbased upon the type of media content selected. FIGS. 4-12 displayexamples of possible data that may be shown based upon a highlighting aparticular media content type.

In FIG. 4, an episodic television series is selected. Each type of mediacontent, including an episodic television series, may present someunique information that other types of media content may not display.For the television series “How I Met Your Mother” 402, the genre of theseries (sitcom) and the rating (TV-PG) 404 is displayed. An image 406may be shown of cast members of the television series. In otherembodiments, the image may be the cast, the logo of the televisionseries, or a combination of the cast and logo for easier recognition.The names of the members of the cast and possibly the director, writer,or creator 408 may also be displayed. A graphical indication 412 may beshown to indicate that the show is available in high-definition.Availability 410 is also displayed that informs the user that thetelevision series is available to record or purchase from downloading.In an embodiment, availability may include a variety of formatsincluding, but not limited to, watch now, record, rent, purchase,pre-order, or download for free. A graphical indicator may also indicatethat the media content is available including downloading throughAmazon.com, streaming through Netflix, or via network televisionbroadcast. In another embodiment, the graphical indicator indicates thatthe content is available from a variety of sources, including broadbandpartners or via network television. An indication may also be shown toindicate that the episode is airing for the first time (through a “new”icon) or that the episode is only available for a limited period of time(a “going away soon” icon) because the availability of a download isending. Other types of data may also be displayed, such as, but notlimited to, program metadata of the content including programdescription, duration, tags, etc. The placement and selection of whichdata is displayed may vary from implementation to implementation. Inanother embodiment, placement or selection of the data may be a definedby the user.

In FIG. 5, the non-episodic show or movie named “How to Lose a Guy in 10Days” is selected. For the movie “How to Lose a Guy in 10 Days”, thegenre of the movie (comedy), the Motion Picture Association of America(MPAA) rating (PG-13) 506, is displayed. An image 504 may be shown ofthe movie poster or a still from the movie. The names of the members ofthe cast and possibly the director, writer, or creator may also bedisplayed. A graphical indication may be shown to indicate that the showis available in high-definition. Availability 508 is also displayed thatinforms the user that the television series is available to for purchasefrom online downloading. In an embodiment, availability may include avariety of formats including, but not limited to, watch now, record,rent, purchase, pre-order, or download for free. In another embodiment,a graphical indicator indicates that the content is available from avariety of sources, including broadband partners or via networktelevision. Other types of data may also be displayed, such as, but notlimited to, program metadata of the content including programdescription, duration, tags, etc. The placement and selection of whichdata is displayed may vary from implementation to implementation. Inanother embodiment, placement or selection of the data may be a definedby the user.

In FIG. 6, the actor/director “Ron Howard” 602 is selected. The person'sdifferent roles 606 are shown. For Ron Howard, this includes Actor,Writer, Director, and Producer. Credits 608 are also shown that theperson has performed or appeared. For Ron Howard, this includes, “HappyDays,” “The DaVinci Code,” “A Beautiful Mind,” “Arrested Development,”and “Curious George.” An image 604 of the person is also shown, ifavailable. Alternatively, an image may be shown of media content onwhich the person has been featured. Other types of data may also bedisplayed, such as, but not limited to, date and location of birth,biographical stories, astrological sign, links to fan clubs, etc. Theplacement and selection of which data is displayed may vary fromimplementation to implementation. In another embodiment, placement orselection of the data may be a defined by the user.

FIG. 7 displays an example of information shown when a third partycontent/advertisement, or showcase, is highlighted by the user. In thisexample, the user selected the third party content, “How To Tips fromHome Depot” 702. To indicate that the selection is a third partycontent, or showcase, a graphical indicator (the star to the left of thename of the media content) may also be displayed. An image 704 providedby the third party is also shown, if available. A small text 706 may beincluded that describes what the content contains may be shown on theright area of the screen. In other embodiments, a small video may beshown in place of the image. In another embodiment, a graphicalindicator indicates that the content is available from a variety ofsources, including broadband partners or via network television. Othertypes of data may also be displayed, such as, but not limited to,metadata of the content including program description, duration, tags,etc. The placement and selection of which data is displayed may varyfrom implementation to implementation. In another embodiment, placementor selection of the data may be a defined by the user.

FIG. 8 displays an example of information shown when content availablefor a song or music video is highlighted by the user. In this example,the user selected the content, “The Fray: ‘How to Save a Life’” 802. Animage 804 that displays the band is shown, if available. In anotherembodiment, images of the band, album, record, etc. may be shown insteador in addition to image 804. The genre of the music video (Folk) and arating (TV-PG) 806, if available, are displayed. Text 808 may beincluded that describes the content available may be shown on the rightarea of the screen as well as the length of the content. A graphicalindicator indicating that the content is a music video and the source ofthe content 810 may also be displayed. In an embodiment, availabilitymay include a variety of formats including, but not limited to, watchnow, record, rent, purchase, pre-order, or download for free. In anotherembodiment, a graphical indicator indicates that the content isavailable from a variety of sources, including broadband partners or vianetwork television. Other types of data may also be displayed, such as,but not limited to, metadata of the content including description,duration, tags, etc. The placement and selection of which data isdisplayed may vary from implementation to implementation. In anotherembodiment, placement or selection of the data may be a defined by theuser.

FIG. 9 displays an example of information shown when content availablefrom a web video provider is highlighted by the user. In this example,the user selected the content, “Howcast” 902. An image 904 related tothe content is shown, if available. The genre of the web video(educational) and a rating (TV-G) 906, if available, are displayed. Text908 may be included that describes the content available may be shown onthe right area of the screen. A graphical indicator 910 indicating thatthe content is web video may also be displayed. In an embodiment,availability may include a variety of formats including, but not limitedto, watch now, record, rent, purchase, pre-order, or download for free.In another embodiment, a graphical indicator indicates that the contentis available from a variety of sources, including broadband partners.Other types of data may also be displayed, such as, but not limited to,metadata of the content including description, duration, tags, etc. Theplacement and selection of which data is displayed may vary fromimplementation to implementation. In another embodiment, placement orselection of the data may be a defined by the user.

FIG. 10 displays an example of information shown when a tag ishighlighted by the user. In this example, the user selected the tag,“HOW-TO” 1002. Next to the name of the media content may be a graphicalindicator indicating that the selection is a tag. In an embodiment, theinformation displayed to the right is content associated with the tag.The information may be displayed in the form of images 1004 of thecontent that may include a movie poster or an image of a screen shot ofthe content. In FIG. 10, an image of the movie poster for “In GoodCompany” is shown as well as a critic rating of the movie 1006. Theimage shown may be the most viewed media content or be selected by anyother criteria (most relevant, most votes, etc.). The background maycontain other images media content that is associated with the tag. Thebackground images may be rotated to the front periodically or whenselected by the user. In other embodiments, a list of the media contentis shown rather than images of the media content. The images of mediacontent may also be shown in a grid so that the user may view allassociated media content at once. Other types of data may also bedisplayed, such as, but not limited to, the count of the programs thatmatch the tag. The placement and selection of which data is displayedmay vary from implementation to implementation. In another embodiment,placement or selection of the data may be a defined by the user.

FIG. 11 displays an example of information shown when the option tosearch YouTube 1102 is highlighted by the user. If this option isselected, then a search of the video website, YouTube, is performed thatuses the search term entered by the user in the search box and theresults from YouTube are shown to the user. The user may then select oneof the YouTube results for download and viewing. In FIG. 11, a search inYouTube would be performed with the search term of “HOW” and a list ofresults based upon the search term “HOW” is returned to the user. On theright, an image 1102 indicating a YouTube search is displayed. A textdescription 1104 that a search is being made for videos that match “HOW”is shown. A graphical indicator 1106 may also be shown to indicate thesite where the search may occur. Thus, other video sites may also besearched in addition to YouTube. The placement and selection of whichdata is displayed may vary from implementation to implementation. Inanother embodiment, placement or selection of the data may be a definedby the user.

FIG. 12 displays an example of information shown when the Wishlistoption 1202 is highlighted by the user. The Wishlist allows a user toselect a particular media content, a movie, an entire series, or aparticular episode of a series that is currently not available either bydownload or broadcast. When media content on the Wishlist becomesavailable in the future, the media content will be recorded ordownloaded and made available to the user. The image 1204 shown on theright side of the screen is the graphic associated with initiating aWishlist. Text 1206 may describe the action to be undertaken byselecting this particular action. In this case, a Wishlist search for“HOW” would begin. The placement and selection of which data isdisplayed may vary from implementation to implementation. In anotherembodiment, placement or selection of the data may be a defined by theuser.

FIG. 13 is an example of a DVR generated screen if the user wishes toinput particular search options 1302 for a search. A variety of criteriamay be adjusted by the user depending on the type of search desired andto obtain the best results. For example, a user may wish to sort byvarious criteria such as best match, by newest matches, by length of themedia content, and any of a variety of additional methods. The searchresults may also be filtered based upon the quality, source, and cost ofthe media content 1306. Search results may also be filtered based uponthe category 1308 of the media content. The user may include and excludeparticular media content if the media content belongs to a certaincategory. Any other criteria may be used to filter or sort searchresults and the options shown are just an illustration of possiblecriteria that may be used. The user, once selections are made, has theoption to confirm or cancel any of the changes made 1304.

The information available to be shown once a media content is selectedvaries based on the type of media content. An example of the types ofinformation shown for an episodic television series is shown in FIGS.14-19. The categories of information that may be selected is shown onthe left side of the screen as may be seen in FIG. 14. Among some of thecategories are Details, Upcoming (for upcoming episodes), Episode Guide,etc. 1404. When a category is highlighted, additional informationassociated with the category selected is shown on the right side of thescreen. At the top of the screen, the name of the media content, in thiscase “How I Met Your Mother” 1402 is shown along with the thumb rating(which may be from user himself) and star rating (by third partyeditorial content) of the series. The thumb rating based upon responsesfrom the community of users may also be displayed in another area of thescreen.

Display of Season and Episode Number

For the series “How I Met Your Mother,” a user may highlight theselection for Episode Guide 1406. In an embodiment, a season number andepisode number of an episodic television series is displayed. The seasonnumber and episode number may be derived from a content provider or athird party provider of electronic program guide information. The seasonnumber and episode number may be explicitly denoted in the informationsent to the service provider. The season number and episode number mayalso be derived based upon information provided by third parties. Ifinformation from providers conflicts, then calculation of the season andepisode may need to be performed manually.

The season number and the episode number allow users to perform specificactions directed to a specific season or a specific episode. Forexample, a user might wish to record only a specific season of a show.This might occur where a user becomes interested in a television showthat is already in the third season but has not yet viewed any episodesof the show. The user might wish to begin watching the show from thebeginning and so request to record or download all episodes from seasonone of the show. When the user is finished with all season one episodes,the user might next request all episodes from season two of the show.These actions are only available when the data for the season andepisode are available for a particular series.

An example of Season and Episode numbers is displayed in FIG. 14. Theuser has the option to view each of the episodes based upon the season1408. The user may select seasons one through five. The user may alsoselect to purchase all episodes of a particular season or selectindividual episodes for purchase. In FIG. 14, season 1 episode 1 isentitled “Pilot” 1410. Season 1, episode 2 is entitled “Purple Giraffe”1412, and Season 1, episode 3 is entitled “Sweet Taste of Liberty” 1414.For further information about a particular episode, the user may selectany of the episodes shown.

Other Information for an Episodic Series

FIG. 15 shows a DVR-generated screen when a user has highlighted the“Cast” category 1502 for the series “How I Met Your Mother.” Each of themembers of the cast may have images 1504 shown with text displaying thename of the actor/actress and the name of the character in the series.When a cast member is highlighted, more detailed information is shown onthe right side of the screen. For example, Neil Patrick Harris 1506 isselected to display a larger image of the actor on the right side of thescreen, with more personal information displayed including birthday,home town, and media content where he had roles.

FIG. 16 shows a DVR-generated screen when a user has highlighted the“Cast” category 1602 for the series “How I Met Your Mother.” In thiscase, the user is still viewing the images from the cast but hasscrolled down further in the screen to display guest stars. In anotherembodiment, the user may select to view only guest stars of the seriesrather than regular cast members. Each of the guest stars may haveimages 1604 shown with text displaying the name of the actor/actress andthe name of the character in the series. When a guest star ishighlighted, more detailed information is shown on the right side of thescreen. For example, Sarah Chalk 1606 is selected to display a largerimage of the actress on the right side of the screen, with more personalinformation displayed including birthday, home town, and media contentwhere she also has had roles. The title or episode number and seasonnumber of the episode that the guest star was featured may also bedisplayed.

FIG. 17 displays a DVR-generated screen when a user has highlighted the“If you like this . . . ” category 1702 for the series “How I Met YourMother.” Upon this selection, a number of media content 1704 is shown onin the middle of the screen. These may be other series that are relatedto “How I Met Your Mother”, match genres, show a correlation of ratingsbetween users, or have similar subject matter. Any other type ofcriteria may also be used to show a relation between media contents.From this screen, the user may select other similar series' to record orview. In another embodiment, the list of related content may be shown asa text list or as a grid with thumbnail images. The type of view may beselected by the user. In other embodiment, the type of view iscontrolled by the service provider and may vary from implementation toimplementation.

FIG. 18 shows a DVR-generated screen when a user has highlighted the“Bonus Features” category 1802 for the series “How I Met Your Mother.”Upon this selection, images 1804 for a number of media content are shownon the right side of the screen. These may be music that is related tothe series, books, DVD's, or other downloadable material 1804. From thisscreen, the user may select one of the options and taken to athird-party site such as Amazon.com in order to purchase relatedmaterials. Other types of media content such as “making of” features, ornews stories about the series or actors within the series may also beused to populate this menu. Bonus features may also include video clipsor YouTube clips that in some way relate to the show. These may includefan-generated material or content from the content provider.

FIG. 19 shows a DVR-generated screen when a user has highlighted the“Tags” category 1902 for the series “How I Met Your Mother.” Upon thisselection, a list 1904 of tags is shown that is associated with theseries. In this case, five different tags are associated with “How I MetYour Mother.” The number next to the tag may indicate differentinformation depending upon the implementation. The number may indicatethe number of media content that is associated with that particular tag.The number may also indicate the number of users who selected the tagfor the series. For example, 44 different users may have selected thetag “dating” in association with “How I Met Your Mother.” Thus, thenumber may indicate how popular a particular tag is with the particularseries.

In another embodiment, “Featured Music” is also displayed on the lefthand side that includes song and music featured in the particularseries. This may include the soundtrack or songs that have appeared inthe series. The music may be available for download or streaming. A usermay be given the option to purchase or rent the music. For example, theentire soundtrack might be offered for purchase from Amazon.com fordelivery. The music might also be downloaded for future listening.

Recording Conflicts

A recording conflict occurs when a user has selected to record a largernumber of media content than the DVR may be able to record at the sametime. For example, the DVR may have fewer tuners than the number ofmedia content that is scheduled to be recorded at the same time. Inanother example, the number of decoding units may not be enough torecord the scheduled media content. In another example, disk bandwidthconstraints may also restrict the number of recordings that are able tobe recorded at the same time. Any type of hardware or softwarerestriction that limits the amount of recording that may be performed ata particular time may cause a recording conflict. For example, arecording conflict may occur where a DVR has a single tuner and a userhas selected to record more than one media content at the same time.Because there is only a single tuner, only one media content may berecorded at a time. A recording conflict may also occur where a DVR withtwo tuners has three scheduled recordings at the same time. For examplea DVR may comprise two separate tuners. If a user elected to record twodifferent shows that both broadcast on Tuesday night at 8:00 P.M., thenthe DVR should be able to record both shows. If the user wishes torecord a third show at Tuesday night at 8:00 P.M., then a recordingconflict would occur such that the user or DVR would have to selectwhich two out of the three shows should be recorded. This conflict mayoccur with any number of tuners on a DVR and is not limited to theexamples above. In another example, a multimedia device may only supportwatching pay per view. If there were only a single tuner and the userhad also scheduled a recording on a different channel at the same time,a recording conflict would occur.

Recording conflicts may be due to any type of hardware or softwarerestriction that limits the amount of recording that may be performed ata particular time and are not limited to the stated examples herein. Forexample, recording conflict resolution may be extended to multiplereal-time events. Under this circumstance, two users in a particularhousehold may wish to schedule their DVR to remind the two users when towatch competing sporting events live that broadcast at the same time.The DVR may have a sufficient number of tuners to record both of thesesporting events, but the users have elected to watch the sporting eventslive. As there is only a single output of the DVR to the display device,there is a recording conflict. In another example, there may be asufficient number of tuners available to record two televisionbroadcasts. However, both broadcasts may be encoded at ultra high bitrates (e.g. for 3-D television). There may be only have sufficientdisk/bus bandwidth to record one of the television broadcasts.

In an embodiment, a user may select which shows he wishes to record whenthere is a recording conflict at a particular time. In an embodiment,the user may be presented with a graphical user interface that allowsthe user to select which show or shows should be recorded by the DVR andwhich recordings are to be canceled. An example of a recording conflictis shown in FIG. 20 entitled “Recording Conflicts” 2002. A user hasselected to record a new program, “How I Met Your Mother.”Unfortunately, two shows are already scheduled to be recorded on the DVRwith two tuners. The DVR displays the two shows, “How I Met Your Mother”and “Friends,” that will be recorded 2004, and the other selected show,“Bosom Buddies,” 2006 that will not be recorded. The user has an optionto select one of the existing scheduled recordings to be canceled, or tonot record the newly requested program. In an embodiment, a user mayestablish priorities of recording based upon the show. For example, auser might provide a high priority to the series “How I Met Your Mother”such that “How I Met Your Mother” would always be recorded in the caseof a conflict. In another example, a user might provide a low priorityto a series. If a conflict occurs under this circumstance, the lowerpriority series recording will be canceled in favor of anotherrecording.

Recording conflicts may last for the entire length of the media contentor only a partial length. An example of where a recording conflicts fora partial length is shown in FIG. 21. In FIG. 21, the series “How I MetYour Mother” and “Friends” 2102 will be recorded. “Bosom Buddies” startsat 8:30 but “How I Met Your Mother” ends at 8:32 (assume also thatanother recording is also being made on the second tuner). “BosomBuddies” 2104 only conflicts with the series “How I Met Your Mother” by2 minutes (out of a total of 30 minutes). The user has the option ofhaving the recording only clipped by the conflicting recording for twominutes. In an embodiment, a show may be clipped up to a total of fiveminutes. Thus, the episode of “Bosom Buddies” will begin recording twominutes after the start of the show (once “How I Met Your Mother”concludes).

In an embodiment, a program may be canceled for a specified amount oftime and then recorded again when the conflicting recording iscompleted. For example, a user might wish to record a full day ofOlympic coverage from 10:00 A.M. to 6:00 P.M. on a DVR with a singletuner. The user may wish to make a recording of another program from2:00 P.M. to 2:30 P.M. on the same day. In an embodiment, the user mayselect the Olympic recording be stopped from 2:00 to 2:30 P.M. in favorof the other program and then resumed once again at 2:30 until thescheduled ending of 6:00 P.M. In another embodiment, when a program isclipped (the recording is stopped early in order to record anotherprogram), then the DVR does not resume recording of the program when therecording of the other program is completed.

An example of recording conflicts that may occur with a Season Pass areillustrated in FIG. 22. In FIG. 22, a user has a season pass for theseries “How I Met Your Mother.” The DVR is scheduled to record 13episodes 2202 of the series. However some episodes that are scheduled tobe recorded conflict with other previously scheduled recordings. Forexample, the episode “Slutty Pumpkin” 2204 conflicts with a previouslyscheduled recording for “Friends” and the episode “Matchmaker” 2206overlaps with a previously scheduled recording for “That 70s Show.” Theuser has an option to keep the season pass and not record all episodesof the season pass, to record all episodes with the season pass, and tocancel the season pass altogether. The user also has the option toselect particular episodes that conflict and select on an episode byepisode basis, the show that should be recorded.

Recording conflicts may last for the entire length of the media contentor only a partial length. An example of Season Pass Conflicts where arecording conflicts for a partial length is shown in FIG. 23. Episodeswhere the entire episode will not be recorded, and the conflictingrecording are shown in 2302. In FIG. 23, the episode “Purple Giraffe”2304 only conflicts with the series “Two and a Half Men” by 2 minutes(out of a total of 30 minutes). The user has the option of having therecording only clipped by the conflicting recording for two minutes.Thus, the episode “Purple Giraffe” will begin recording two minutesafter the start (once “Two and a Half Men” concludes). Additionalconflicts unable to be shown on the display screen may also be viewedbased upon command user input (i.e. Using CHAN UP/DOWN).

FIG. 24A shows an example of a screen displayed when a user selects allepisodes to be recorded in a season pass. All episodes of the seriesselected for the season pass are recorded and the screen displays thepreviously scheduled recordings 2402 that conflict and will no longer berecorded.

A user may also have a Wishlist that records media content that containsa particular person. FIG. 24B shows an example of conflicts that mayoccur with Wishlist recordings. In FIG. 24B, the actor “Tom Hanks” isselected and all media content that contains Tom Hanks is scheduled tobe recorded for the user. The DVR shows media content that will berecorded such as “Big” 2404 and “You've Got Mail” 2406. The DVR alsodisplays media content that conflicts such as “Bosom Buddies” with“Friends” 2408 and thus will not be recorded. The user may select torecord the media content as shown, to record all Wishlist recordings(over all previously scheduled recordings), or to cancel the recordingsfor the Wishlist.

In an embodiment, conflict resolution may also be performed graphically.A user may be shown graphically which scheduled recording conflicts withanother scheduled recording. An example of clipping, where one show onlyclips the end of another show is shown in FIG. 25A. In FIG. 25A, MLBBaseball begins recording on a single tuner at 7:25. However, alsoscheduled at to record from 7:00 to 7:30 is Jeopardy. A user may selectto clip the last 5 minutes of Jeopardy from 7:25 to 7:30 as shown as2502, and record as planned. A user may also select to not record theMLB recording in order to maintain recording the full episode ofJeopardy. In an embodiment, a user may also elect to clip the first 5minutes of a recording and having a full recording of the earlierscheduled program. Under this circumstance, a user would select torecord the full episode of Jeopardy and clip the first 5 minutes of MLBbaseball instead.

In an embodiment, conflict resolution may also be performed on two tunerDVRs. An example is shown in FIG. 25B. In this example, there are threeseparate programs that are scheduled to be recorded from 7:00 pm to 9:00pm. MLB Baseball 2504, Jeopardy 2506, and Extra 2508 are all scheduledto record at the same time. Currently, MLB Baseball 2504 and Jeopardy2506 are scheduled to record which is indicated by the graphicalindicator of a check box and Extra 2508 would not be recorded indicatedby the graphical indicator of an “x”.

A user may then select a program to be recorded that was originally notgoing to be recorded. This is illustrated in FIG. 25C. In FIG. 25C, auser has selected That 70s Show 2510 to be recorded. In response, Wheelof Fortune 2512 will not be recorded. In an embodiment, thedetermination of what will not be recorded when a different show isselected for recording by the user in a recording conflict may be basedupon similar lengths. Since Wheel of Fortune 2512 is the same length asThat 70s Show 2510, Wheel of Fortune 2512 will no longer record. Inanother embodiment, the lowest rated show by the user will no longer berecorded. The ratings are based upon thumbs given by the user. A showwith 3 thumbs will be kept over a show with 2 thumbs and so on,regardless of length. A user may also indicate that particular showswill always record. A graphical indicator (here, a “+”), may alsoindicate that a show will be shown once or more times in a differenttime period. In this example, That 70s Show 2511 will be shown 3different times at various times. The user may take this informationinto account when selecting which show to record and which show does notget recorded.

Recording conflicts may also be shown for more than one non-consecutivetime period. As shown in FIG. 25D, conflicts occurred at 1:00 pm to 2:00pm and then again from 7:00 pm to 10:00 pm. The Olympic Games 2514,Jeopardy 2516, and Oprah 2518 are all scheduled from 1:00 pm to 2:00 pm.The Olympic Games 2514 and Jeopardy 2516 are scheduled to record, andOprah 2518 is scheduled to not record. In FIG. 25E, the user hasselected Oprah 2518 to record and Jeopardy 2516 and Extra 2520 will nolonger record. In FIG. 25F, the user has selected That 70s Show 2522 torecord and so Wheel of Fortune 2524 will no longer record. The user alsohas the option to select the Olympic Games to not record 2526, whichwould also remove all of the recording conflicts at these time periods.

In an embodiment, a user may also clip an extra long program andcontinue to record the long program when the conflicting recording iscompleted. For example, with the example of the Olympic Games, a usermay wish to record Wheel of Fortune 2524 and That 70s show between 7:00and 7:30 and not record the Olympic Games 2514. Under this circumstance,the Olympic Games would be broken into two recordings. A first recordingfrom 1:00 to 7:00 before being preempted by Wheel of Fortune and That70s Show, and a second recording from 7:30 to 10:00 pm after thepreemption.

3.3 Discovery Bar of Multimedia Content

In an embodiment, a “discovery bar” of multimedia content displaysmultimedia content on all user interface screens allows a user theability to conveniently select additional or new media content to view.The customer may navigate into the bar and scroll through the contentselections presented. An “item”, as used herein, is the individualcontent of the discovery bar. The individual content may be sent from aserver to a client for display to a user. For display of the discoverybar, a connection from the server to the client is made. A user mayscroll to the edge of the visible bar and display additional contentrecommendations. In addition to content recommendations, the bar maypresent advertising, and other content types. Other multimedia contenttypes include, but is not limited to, a display of new features,advertisements, providers (a shortcut to a provider such as Amazon.com),collection (shortcut to a particular collection) channels (a shortcut toa broadcast channel on live television), person (shortcut to an actor,director, etc.), category (shortcut to a category), video content, or acontent feed from any content provider (e.g., web video, stream,broadcast, Netflix New Releases, CNN top news, CNBC financial news). Inan embodiment, the content may include such items as, but not limitedto: the most popular Season Pass shows, only HD quality content, news,weather, Entertainment Weekly picks, Daily Tribune picks, suggestionsbased on collaborative filtering, recently recorded content that has notbeen broadcast for some time, new shows that are premiering, new featureannouncements, tips and tricks for the DVR, advertising, newmovie/content releases from partners, new photo albums from friends,YouTube content recommended by friends, television shows recommended byfriends, “Collections” (i.e. Oscar winners, Johnny Depp, Netflixsuggestions), editorial recommendations, popular searches, weather/newswidgets, currently recorded shows, Season Passes that have not beenbroadcast for some time, but are broadcasting soon, My WishListsearches, just recorded content, programs on right now, and Bookmarks.In an embodiment, the bar of multimedia content appears on top of alluser interface screens.

In an embodiment, the user may select to disable the discovery bar ofmultimedia content if he or she so desires. The user may also indicatewhich categories of content to be shown on the bar. For example, theuser might request that more of the most popular Season Pass shows bedisplayed and less Daily Tribune picks. In an embodiment, the user mayindicate entire categories to not be displayed in the bar. For example,all new photo albums from friends are prohibited from being shown. Theservice provider may also not allow all categories, such asadvertisements, to be disabled by the user.

In an embodiment, the discovery bar comprises a collection ofrecommended content that are organized into a set of items. A set ofitems in a discovery bar may have a minimum number of items and amaximum number of items. The minimum and maximum number of items mayvary from implementation to implementation. As an example, a set ofitems may have a minimum of 15 items and a maximum of 25 items. Itemsare displayed as a view of visible items. In an embodiment, each view isfour to ten items that are visible to the user at any given time. Thoughthe number of items viewed at any one time may vary depending upon thewidth of each item and the available space on the screen. Each item iswithin a “slot” of the discovery bar. Slots are numbered starting at 1and continue to how many slots are available in the set. As used herein,a first “view” is the initial set of bar content viewable by the userfor a particular screen. A view comprises a subset of the items in theset of items that is displayed at a single point in time to the user.The second view and the third view are additional sets of viewable barcontent for a particular screen. The second view and the third view maybe viewed by waiting for the bar to perform an auto scroll. An autoscroll may occur because a specified amount of remote control inactivitytime elapses before the bar content scrolls to reveal a new set, orview, of content. The specified amount of remote control inactivity timemay vary based upon the implementation and may also be specified. Inanother embodiment, the contents of the bar may be changed due toshaking of a remote control that is able to detect a shaking motion. Inanother embodiment, the contents of the set of items may be changed dueto shaking of a remote control that is able to detect a shaking motion.An example of such a remote control is further described in U.S. patentapplication Ser. No. 12/631,740, filed Dec. 4, 2009, and is incorporatedby reference herein.

Examples of views of a discovery bar are shown in FIG. 26. In FIG. 26,each image is an image of media content that may be presented to a user.The images form a long carousel or a continuous loop (denoted by theline and arrows) where, after image 2618, image 2602 is next in the setof images. The images form a continuous loop in this fashion with thelast image followed by the first image when traversing the loop. A setof images are shown in views which are grouped by the dotted lines. Thefirst view 2650, displays images 2602, 2604, 2606, 2608, and 2610. Thesecond view 2652 displays images 2604, 2606, 2608, 2610, and 2612. Thethird view 2654 displays images 2606, 2608, 2610, 2612, and 2614. Thus,the first view 2650 may be displayed until an auto-scroll occurs. Eachimage in the view may also be the slot of the item. These are indicatedas image 2602 is labeled Slot 1, image 2604 as Slot 2, and so forth.Furthermore, more than three views may occur for a carousel orcontinuous loop of images. In an embodiment, when a user highlights aspecified position in the content bar, the highlighter remains fixed andthe contents of the bar begin to scroll one by one underneath thehighlight. The specified position might be, for example, the 2^(nd) or3^(rd) to last item in the bar. In this way, if a user is initiating thescrolling, a long list or carousel of images appears to the user.

In an embodiment, a specific order of content types may be followed inorder to populate the discovery bar set. For example, business requireditems (ads, editorial, etc.) might be considered first. Next, the mostrelevant items to the current context are determined. Then, items areconsidered that are relevant in a 2^(nd) degree (collections,categories, people, etc.). If still more items are needed, or there isno context available, then items are populated that might be relevant tothe user or the community. A client will make a request to populate thediscovery bar from the server. In an embodiment, the request may includean exclusion list in order to not populate the bar with items that haveappeared in a previous determined number of views.

In an embodiment, population of the bar may be based upon bins andindividual item frequency. As used herein, a bin is a group of contentsources that, as a whole, a user may control how often the entire groupis eligible for the set of items. A bucket is a content source within abin. A user may control the weight of the bucket and this affects howoften an item from that source is placed within a bin. For example,content sources might include: advertising, service provider editorial,content provider editorial, partner recommendations, and tips andtricks. Each bin contains one or more content sources and may becontextual or non-contextual. For example, one bin may be for contextualadvertising and another bin for non-contextual advertising. Each bin hasa related individual item frequency that reflects the frequency an itemmay be part of a set. For example, advertising is in each set, and has afrequency of 1/1. Distributor contextual might have a frequency of 1/5,and partner recommendations non-contextual might have an item frequencyof 1/10. These item frequencies may vary from implementation toimplementation. A user may then offer preferences to change therecommendations within the discovery bar. For example, a user mayspecify “more”, “standard”, or “less” tips and tricks. This would lowerthe frequency of the tips and tricks bin. A user may also specify“more”, “standard”, or “less” people, that would affect the bucket“related to a person” within each respective bin. There may also bebalancing of items. For example, a user may affect how many items in aset are available to rent or buy or the ratio of TV, movies, sports, orweb video within a set. In an embodiment, individual item checks mayalso be performed. For example, if a screen has a context of achildren's show, then anything tagged mature or any content not within akid's rating should be shown. In another example, content that is notcurrently available, or content that is already scheduled to record mayalso be discarded from being shown.

In an embodiment, various policies may be used to direct how the contentbar is populated with content. In other embodiments, policies may not beemployed in any manner. In yet other embodiments, policies may beoptional and not be required. Policies may also be given specifiedweightings such that policies with a greater weighting are given morepriority over policies that have a lower weighting.

Policies may vary and may include, but are not limited to the following:Placement of most content types within a view of the bar is random.Advertisements may always appear in a fixed position or distributedrandomly within a view. The same piece of content should not appear ontwo subsequent views of the bar. This includes rotation within the bar(a first view to a second view of the same bar on a screen), but doesnot include screen transitions (bar on a first screen to bar on a secondscreen). Advertisements may be limited to one per view, and only toevery other view of the bar within a screen. Advertisements may not beplaced in the scroll positions within the bar (the faded edge itemswhich indicate scrolling is possible) and should always appear as ‘fullydisplayed’ items. After a determination is made of where anadvertisement appears within a bar view, the rest of the bar ispopulated with a random assortment of the remaining content types forthat screen.

Other policies may be that programs in progress (e.g. the Emmy's are onright now) may be displayed. Content that may be downloaded may also beincluded in the discovery bar. In cases where the device is an IPTVcompatible device or the device obtains content exclusively from anetwork, then the content may be considered available and may beselected for the discovery bar. Policies may exist that only coverdownloadable content. For example, content available may only compriseprograms that may be downloaded within a certain time period (thecontent is dependent upon both the speed of the broadband and the sizeof the content file). Content that has already broadcasted should not beshown (e.g. if the Emmy's have just ended, do not show the Emmy's in thebar). Also, content that the customer already has scheduled to recordmay be implemented in a weighted manner. Items that are similar to thecurrent program but have already been scheduled may be given a lowerweighting (or be called tier 2). These items with a lower weightingwould only be displayed if there is not enough other (or tier 1) contentto fill the bar. Items presented should be available in the user's areaon channels received. In general, preference is given to display contentthat is available within the next seven days. An item should not bedisplayed twice within a carousel.

In an embodiment, the heights of items are bounded but the widths ofitems may vary. The number of items within a view may vary because thewidths of the items vary. Each screen contains a set of items that isable to change after a period of time. The period of changes may vary.For example, a period of time might be 24 hours. In an embodiment, theset of items is logically divided into views. A view, as used herein, isany group of four to six items that may be automatically presented tothe user within a set. In an embodiment, each set of items contains aminimum of two views and up to a maximum of five views. The actualnumber of views may vary from implementation to implementation.

The image varies depending upon the content type that is shown on thebar of multimedia content. The types of content that may appear on thediscovery bar include, but is not limited to, a television series,episode preview, movie or non-episodic program, person (actor, writer,or director, musician, etc), showcase promotions that may beadvertisements by third parties, electronic program guideadvertisements, broadband only preview, music video, music album,various applications that may be run on the DVR, content providers, andcollections of recommended content. In an embodiment, if the itempresented is currently being shown, a graphical indication that thecontent is shown live is superimposed on the image. The selection of themedia content displayed in the discovery bar may be based on relatedcontent (contextual selections) or display the most popular mediacontent (non-contextual selections). Contextual selections may arisewhen there is context available based upon interest from the user. Forexample, the user may have selected a particular media content. Lessdirect methods may also be used to derive context. The user may haveselected a person, a tag, or group of content. The path that the userhas followed may even be used to derive context. The very beginning of atask (i.e. Search, Browse menu, etc.) may have little to no context, butfurther down the path (regardless of whether a particular piece ofcontent is chosen) context may be determined. For example, if the usernavigates to the Browse menu and then proceeds to browse comedy movies,then context may be derived for the user.

A user may select an item by selecting an item when the highlight bar isover the preferred item. A user may navigate to items in the discoverybar by moving the highlight bar to the item of interest. If thediscovery bar is located at the top of the screen, the user may navigateto the discovery bar by moving the highlight bar to the discovery barfrom the menu items in the lower area of the screen. When an item isselected, an area of the display, or rollout area, shows data specificto the type of the content is shown to the user. For example, a usermight select an item that is an episode of a television series. Underthis circumstance, options specific to an episode of an episodictelevision series is displayed in the rollout area. In another example,a user might select an item that is content for an advertisement for athird party. Under this circumstance, the user is navigated to thedestination defined by the promotion upon selection of the item. In therollout area, both text and image data may be displayed, or a video maybegin playing upon user input. User commands may change the video todisplay full screen (as opposed to just in the rollout area).

In an embodiment, the discovery bar is populated based upon particularrules that may vary from implementation to implementation. The followingare rules that may be used and each of the rules may be combined withother rules in order to determine placement of content in the discoverybar. The order may be determined by ordering the broadcast based uponavailability. For example, content available within the next seven daysmight appear prior to content that will be available only after sevendays.

Other criteria may also be used to decide which content to display onthe bar. Demographic and geographic data might be taken into account.For example, content for sporting events might emphasize hockey in thefar north and football in the south. In addition, the time of day or dayin the week may also be taken into account. For example, movies might bemore likely to appear on weekend evenings and soap operas might appearmore often on weekday afternoons.

In an embodiment, contextual screens display different content thannon-contextual screens. For example, a user might enter command input tonavigate to the main menu of the DVR. As no content is yet selected bythe user within the DVR menus and the user is at the main menu,non-contextual screens for the discovery bar are shown to the user.Contextual screens are shown once context may be derived based upon theuser's actions. This may be based upon a search performed by the user orsimply the path that a user is following in order to find movies thatare historical dramas. The discovery bar may display content that isrelated to the derived context. In another embodiment, contextualscreens may appear if a user is already viewing a particular mediacontent and then enters command input to view a DVR-generated menu. Themedia content being viewed would be considered as the context for thediscovery bar.

Related programs for contextual selections might be determined basedupon aggregating data from many different users, through an editorialservice that originates from a service provider, or based upon anycriteria that may be used to determine related programming.Non-contextual selections may be limited to the most scheduled mediacontent for the upcoming week.

In an embodiment, content displayed on the bar may also be affected bythe time of year, time of day, or day of the week. For example, on aFriday evening, it might be more likely that a user will watch a movie,and thus more movies may be displayed on the bar. In another embodiment,a user may become accustomed to viewing content that has recently beenrecorded. For example, a user might view the television show “GossipGirl” as soon as the show is recorded. Based upon this action, the barmay be populated with the latest recording of “Gossip Girl” if the showhas not yet been viewed so that the user may select the content easily.

In an embodiment, the discovery bar only displays a specified number ofadvertisements, or third-party content, per view. For example, thespecified number might be one. Rules may be implemented to displayadvertising in the discovery bar. The same promotion may not appear inadjoining views within a screen set. For views, advertising contentshould appear in full. Thus, if the system rotated through the viewswithout user interaction, no advertisement would be cut off.Advertisements from third party advertisers are inserted into everyother view and promotions from the electronic programming guide are alsoinserted into every other view.

In an embodiment, the discovery bar may be displayed when the client isdisconnected from a central server. Under this circumstance, the clientmay have cached content that allows the client to display the bar to theuser in a disconnected state. In another embodiment, the discovery baris not shown anytime the client is disconnected from the central server.Under this circumstance, the bar may be replaced with a large icon andmessage stating that the network connection is unavailable and should befixed in order for the discovery bar to once again display.

An example of a drop down screen for an episodic series is shown as FIG.27. A user may select a series 2702 from the discovery bar. As may beseen, an image 2704 is shown of the series “Rome” once the selection ishighlighted. The image may be stored on a database and updated toreflect a current episode. If an image for the series is not available,related images may also be shown such as a cast ensemble image. In FIG.27, actions may be taken with relation to the series. For example, theuser might wish to record or download all or only particular episodes ofthe series. Information is shown specific to the series. The rating 2706is for the entire series (not a single episode) and the text willdescribe the premise for the series. In addition, rating, genre, anddates of broadcast 2708 may be displayed. Graphical indicators for highdefinition, whether the media content is available as a download or iscurrently broadcast, may also be shown. In an embodiment, availabilitymay include a variety of formats including, but not limited to, watchnow, record, rent, purchase, pre-order, or download for free. In anotherembodiment, a graphical indicator indicates that the content isavailable from a variety of sources, including broadband partners or vianetwork television. Other types of data may also be displayed, such as,but not limited to, metadata of the content including description,duration, tags, etc. The placement and selection of which data isdisplayed may vary from implementation to implementation. In anotherembodiment, placement or selection of the data may be a defined by theuser. In addition, a reason why the series is selected 2710 isdisplayed.

An example of a drop down screen for an episodic series is shown as FIG.28. In contrast to FIG. 27, the drop down for “Lost” is for a specificepisode. As may be seen in the figure, an image 2804 is shown for theepisode (a still picture from the episode). The image may be stored on adatabase and updated to reflect a current episode. If an image for theseries is not available, related images may also be shown such as a castensemble image. The user may wish to record or download the particularepisode. Information is shown specific to the episode in the series. Thetitle, episode title, and season number and episode number 2806 areshown if the information is available. The season number indicates theseason of the series. The episode number indicates the number of theepisode within a particular season. Thus, the 25th total episode of theseries Lost might be the first episode of the second season. In thepresent case, the episode “There's No Place Like Home” is the 13thepisode of the season 4.

The episode may also display a graphical indication that the episode hasnot been broadcast previously. An example might be the graphic “new”2810 in FIG. 28. An episode description, the rating of the episode (e.g.TV-MA, TV-14, etc.) 2812, a thumb rating (one thumb up, two thumbs up,one thumb down, etc.), and the original airdate of the episode, may alsobe shown, if available. In an embodiment, the availability may be shownthat include a variety of formats including, but not limited to, watchnow, record, rent, purchase, pre-order, or download for free. In anotherembodiment, a graphical indicator indicates that the content isavailable from a variety of sources, including broadband partners or vianetwork television. Other types of data may also be displayed, such as,but not limited to, metadata of the content including description,duration, tags, etc. The placement and selection of which data isdisplayed may vary from implementation to implementation. In anotherembodiment, placement or selection of the data may be a defined by theuser. In addition, a reason why the episode is selected 2814 isdisplayed.

An example of a screen shown for a movie or non-episodic show is shownin FIG. 29. The information shown may be specific to only movies ornon-episodic shows. The information shown may include, but is notlimited to, the program name, the year of release, the duration of theprogram (shown in either both hour and minutes or only minutes) 2902,the rating of the program (which may comprise a star rating system ofone to four stars) 2904, the MPAA rating, and the release date 2906. Animage 2908 may be shown such as the movie poster of a movie, or aproduction image. A description 2910 of how the content is available(purchase or download) is also displayed. A graphical indicatorindicating that the media content is available in high definition mayalso be shown. In an embodiment, availability may include a variety offormats including, but not limited to, watch now, record, rent,purchase, pre-order, or download for free. In another embodiment, agraphical indicator indicates that the content is available from avariety of sources, including broadband partners or via networktelevision. Other types of data may also be displayed, such as, but notlimited to, metadata of the content including description, duration,tags, etc. The placement and selection of which data is displayed mayvary from implementation to implementation. In another embodiment,placement or selection of the data may be a defined by the user.

An example of a screen shown for a person is shown in FIG. 30. Theinformation shown may be specific to only persons. The information shownmay include, but is not limited to, the name of the person 3002, therole of the person (actor, musician, writer, etc.), credits 3004, andlists of titles of programs the is credited. An image of the person 3006may also be shown that either shows an image of the person or an imageof a character that the person plays. The reason of why the person isrecommended 3008 is also displayed. Other types of data may also bedisplayed, such as, but not limited to, date and location of birth,biographical stories, astrological sign, links to fan clubs, etc. Theplacement and selection of which data is displayed may vary fromimplementation to implementation. In another embodiment, placement orselection of the data may be a defined by the user.

An example of a promotions preview is shown in FIG. 31. Among theinformation that may be shown includes, but is not limited to, a gridbanner 3102, a description that may be included with the banner, and anyactions that the user may perform in relation to the screen 3104. Amongpossible actions is navigating to a destination that is designated bythe advertisement. In other embodiments, a small video may be shown inplace of the banner. In another embodiment, a graphical indicatorindicates that the content is available from a variety of sources,including broadband partners or via network television. Other types ofdata may also be displayed, such as, but not limited to, metadata of thecontent including program description, duration, tags, etc. Theplacement and selection of which data is displayed may vary fromimplementation to implementation. In another embodiment, placement orselection of the data may be a defined by the user.

An example of information displayed upon highlighting a song is shown inFIG. 32. The information shown may include, but is not limited to, thename of the song 3202 and the band, the genre of the song, and therelease date 3204. An image of the song 3206 may also be shown thateither shows an image of the band or an image of from a single or albumcover. The reason of why the song is recommended 3208 is also displayed.A graphical indicator 3210 may also display a source for the song or thepublisher. In another embodiment, images of the band, album, record,etc. may be shown instead or in addition to image 3210. In anembodiment, availability may include a variety of formats including, butnot limited to, watch now, record, rent, purchase, pre-order, ordownload for free. In another embodiment, a graphical indicatorindicates that the content is available from a variety of sources,including broadband partners. Other types of data may also be displayed,such as, but not limited to, metadata of the song including description,duration, tags, etc. The placement and selection of which data isdisplayed may vary from implementation to implementation. In anotherembodiment, placement or selection of the data may be a defined by theuser.

Browsing

A user may also elect to browse based upon a number of categoriesincluding, but not limited to: top picks, favorites, collections,movies, television, sports, content available form a particularprovider, and categories (genres). This is also a graphical interfacewith multiple boxes. An example is shown as FIG. 33. In FIG. 33, theuser may select among the categories 3302 shown on the left to displayin a grid 3304 shown on the right side of the screen. The number ofitems in the grid may vary based upon the size of each box in the gridand the screen size used. In an embodiment, the items shown on the gridmay also be changed due to shaking of a remote control that is able todetect a shaking motion.

The items in the browsing menus may be sorted or grouped in a variety ofways. In one embodiment, items listed are media content that is freelyavailable via download or streaming or will be shown shortly. Thus,items are shown with respect to a sense of immediacy and availability.In another grouping, the media content presented may be shown sometimein the next day or is available for purchase.

3.4 Additional Features Data Quality of Service

In an embodiment, the data sent and received by the DVR to a centralserver is based upon priority. As the amount of data transmitted betweena DVR and a central server increases dramatically, the performance ofthe DVR may be affected because data may not be received or transmittedquickly enough. Thus, data that is associated with currently performedactions (searches) may be given a higher priority than other data thatis less time sensitive (daily guide updates). In this way, higherpriority data will be transmitted and received over lower priority data.This ensures that data that affects user experience is more likely toreach the DVR in sufficient time.

Caching Data in the DVR

As more data is required in order to support a more robust userinterface, to improve the user experience, more data relating to variousfeatures may be cached by the DVR. This negates the need for the DVR torequest data each time a screen changes, or to display the discoverybar. In an embodiment, a DVR may cache the predicted data that a userwould view. Thus, data for the discovery bar which displays on eachscreen is cached by the DVR. The DVR no longer needs to transfer aslarge amount of data and the user experience is improved.

Privacy in Search

In an embodiment, privacy is maintained for the user by letting the userselect whether information that he or she enters is saved and recordedby the service provider. If a user elects to have all informationrecorded by the service provider, then all functionality of the searchis available to the user. If a user selects to not opt-in (keep userdata private and not shared), then the user may continue to use searchbut not all functionality may be available. For example, particularinformation might be needed to be saved in order to provide a searchfeature. Under this circumstance, the search feature that needs saveddata would not be available to the user who does not opt-in. A user mayelect to opt-in to certain information that allows access to somefeatures of search but not allow access to other features of search.

Remote Application Access to the DVR

In an embodiment, the service provider is able to access the DVR inorder to determine the state of the DVR in order to improve the searchand user interface. For example, the discovery bar contains content tobe displayed to the user but should not contain content that is alreadyscheduled to record. The only way to determine that information is toaccess the DVR to get a list of scheduled recordings. Previously, theservice provider was unable to have access and thus all search resultsand the user interface was unable to incorporate individual DVR statusdata into the search or user interface application. In an embodiment,the service provider is running the application process remotely on aserver and makes remote calls to the DVR in order to determine anynecessary status information. In another example, recording conflictswere unable to be determined by the service provider. By obtainingstatus information from the DVR, recording conflicts may be presented tothe user instantly.

Available Content Over Recorded Video

In an embodiment, a user may be presented with available content choiceswhen the user is viewing a recorded media content. The available contentmay be derived from the content that is displayed in the content bar ormay be independently derived based upon a variety of factors. Forexample, available content might be related to the media content thatthe user is watching or might be determined based upon previous actionsby the user. Determination of available content may be based upon thepolicies and criteria that were earlier described with respect to thecontent bar. In an embodiment, the user is presented the availablecontent as a bar over the video at the conclusion of the recording orwhen the user has paused the recording. By displaying related availablecontent when the user is watching, it may be more likely that the userwill watch or become interested in the available content.

Applications

A DVR also has the ability to allow users to play games or runapplications that make use of a high speed internet connection. In anembodiment, applications that are available through a high speedinternet connection are displayed in a menu screen, whether or not thehigh speed internet connection is available. This allows the user toview what applications would be available if a high speed internetconnection were available. To show that the applications are not active,the application name in the screen may be a different color such asgrey. In another embodiment, only applications that are active are shownin the menu screen.

In an embodiment, an application may also be associated with a tag. Thetag allows the application to appear within another menu that hascontent that may be used with the application. For example, a photoapplication may have a tag that associates the application with anyphoto content. Under this circumstance, a user may store photos under aparticular menu in the DVR. The tag would associate the photoapplication with the photo content and a shortcut to the photoapplication will appear in the menu with the photos. This tag may beassociated with any third party applications and thus any third partyphoto applications may also appear in this menu.

Specifying Source

In an embodiment, a user may specify from which sources search resultsmay originate. For example, a user might have a dislike of content fromAmazon.com for some reason. A user may restrict which sources thatresults may be shown. In an embodiment, a user may perform this byaffirmatively identifying which websites or sources are preferable andonly content from those sources are then shown as search results. Anexample is shown in FIG. 34. In FIG. 34, a list of different videoproviders 3404 are shown. A user may select the checkboxes 3402 next toeach of the video providers to have content from those video providersshown in the search results. In another embodiment, a user may identifyspecific sources from which he does not wish to receive results and sothe search result set would exclude all content from the particularspecified source.

In an embodiment, a user may be offered a list of content providers fromwhich to obtain a particular media content. For example, a recentlyreleased movie might be available for download from multiple providerssuch as Amazon.com, Netflix, and Blockbuster. These providers may varyin the amount charged for the particular movie and also in presentation(e.g., available in high definition or standard definition). Thus, theuser has a choice from whom to obtain the recently released movie andalso whether the movie is high-definition or not. An example is shown inFIG. 35. In FIG. 35, choices are shown for the movie Nick and Norah'sInfinite Playlist. The movie is available from different providers(Amazon, Blockbuster, Netflix, Cinema Now). The user has many choicesincluding renting the movie from Amazon in high definition format 3502,renting the movie from Amazon in standard definition format 3504, andbuying the movie from Amazon 3506. Below the dashed line a couple ofother choices are available 3508. The delineation may be to indicatethat the movie is also available with other providers, but the user isnot currently a subscriber or does not have access to that serviceprovider.

Picture in Graphics

When viewing a particular menu (or graphic), the current televisionprogram or recording being watched may be displayed in a video scaledwindow (or picture in graphic “PIG”). The PIG may be displayed in anypart of the screen, based upon the implementation. A user may wish toremove the viewing of the PIG in order to not miss any of the show beingwatched. For example, a viewer may see a spoiler such as a touchdown ina football game on the small scaled video and would much rather onlywatch the football game in full screen. The user has the option to turnoff the PIG with a single command from the remote control. A user cansubsequently turn on the PIG when he wishes.

In an embodiment, display of the PIG may also be based upon useractivity with the remote control. For example, if a user returns tomenus from live television when remote activity has been detected withina specified time frame, then the PIG is displayed with the menu. Inanother example, if a user returns to menus from live television whereno remote activity has been detected in a specified time frame (exceptthe remote activity to return to the menu), then the PIG will not bedisplayed.

4.0 IMPLEMENTATION MECHANISMS

FIG. 36 is a block diagram that illustrates a computer system 3600 uponwhich an embodiment of the invention may be implemented. Computer system3600 includes a bus 3602 or other communication mechanism forcommunicating information, and a processor 3604 coupled with bus 3602for processing information. Computer system 3600 also includes a mainmemory 3606, such as a random access memory (RAM) or other dynamicstorage device, coupled to bus 3602 for storing information andinstructions to be executed by processor 3604. Main memory 3606 also maybe used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by processor3604. Computer system 3600 further includes a read only memory (ROM)3608 or other static storage device coupled to bus 3602 for storingstatic information and instructions for processor 3604. A storage device3610, such as a magnetic disk or optical disk, is provided and coupledto bus 3602 for storing information and instructions.

Computer system 3600 may be coupled via bus 3602 to a display 3612, suchas a cathode ray tube (CRT), for displaying information to a computeruser. An input device 3614, including alphanumeric and other keys, iscoupled to bus 3602 for communicating information and command selectionsto processor 3604. Another type of user input device is cursor control3616, such as a mouse, a trackball, or cursor direction keys forcommunicating direction information and command selections to processor3604 and for controlling cursor movement on display 3612. This inputdevice typically has two degrees of freedom in two axes, a first axis(e.g., x) and a second axis (e.g., y), that allows the device to specifypositions in a plane.

The invention is related to the use of computer system 3600 forimplementing the techniques described herein. According to oneembodiment of the invention, those techniques are performed by computersystem 3600 in response to processor 3604 executing one or moresequences of one or more instructions contained in main memory 3606.Such instructions may be read into main memory 3606 from anothermachine-readable medium, such as storage device 3610. Execution of thesequences of instructions contained in main memory 3606 causes processor3604 to perform the process steps described herein. In alternativeembodiments, hard-wired circuitry may be used in place of or incombination with software instructions to implement the invention. Thus,embodiments of the invention are not limited to any specific combinationof hardware circuitry and software.

The term “machine-readable medium” as used herein refers to any mediumthat participates in providing data that causes a machine to operationin a specific fashion. In an embodiment implemented using computersystem 3600, various machine-readable media are involved, for example,in providing instructions to processor 3604 for execution. Such a mediummay take many forms, including but not limited to storage media andtransmission media. Storage media includes both non-volatile media andvolatile media. Non-volatile media includes, for example, optical ormagnetic disks, such as storage device 3610. Volatile media includesdynamic memory, such as main memory 3606. Transmission media includescoaxial cables, copper wire and fiber optics, including the wires thatcomprise bus 3602. Transmission media can also take the form of acousticor light waves, such as those generated during radio-wave and infra-reddata communications. All such media must be tangible to enable theinstructions carried by the media to be detected by a physical mechanismthat reads the instructions into a machine.

Common forms of machine-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, or any other magneticmedium, a CD-ROM, any other optical medium, punchcards, papertape, anyother physical medium with patterns of holes, a RAM, a PROM, and EPROM,a FLASH-EPROM, any other memory chip or cartridge, a carrier wave asdescribed hereinafter, or any other medium from which a computer canread.

Various forms of machine-readable media may be involved in carrying oneor more sequences of one or more instructions to processor 3604 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 3600 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 3602. Bus 3602 carries the data tomain memory 3606, from which processor 3604 retrieves and executes theinstructions. The instructions received by main memory 3606 mayoptionally be stored on storage device 3610 either before or afterexecution by processor 3604.

Computer system 3600 also includes a communication interface 3618coupled to bus 3602. Communication interface 3618 provides a two-waydata communication coupling to a network link 3620 that is connected toa local network 3622. For example, communication interface 3618 may bean integrated services digital network (ISDN) card or a modem to providea data communication connection to a corresponding type of telephoneline. As another example, communication interface 3618 may be a localarea network (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 3618 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 3620 typically provides data communication through one ormore networks to other data devices. For example, network link 3620 mayprovide a connection through local network 3622 to a host computer 3624or to data equipment operated by an Internet Service Provider (ISP)3626. ISP 3626 in turn provides data communication services through theworld wide packet data communication network now commonly referred to asthe “Internet” 3628. Local network 3622 and Internet 3628 both useelectrical, electromagnetic or optical signals that carry digital datastreams. The signals through the various networks and the signals onnetwork link 3620 and through communication interface 3618, which carrythe digital data to and from computer system 3600, are exemplary formsof carrier waves transporting the information.

Computer system 3600 can send messages and receive data, includingprogram code, through the network(s), network link 3620 andcommunication interface 3618. In the Internet example, a server 3630might transmit a requested code for an application program throughInternet 3628, ISP 3626, local network 3622 and communication interface3618.

The received code may be executed by processor 3604 as it is received,and/or stored in storage device 3610, or other non-volatile storage forlater execution. In this manner, computer system 3600 may obtainapplication code in the form of a carrier wave.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is the invention, and is intended by the applicants to be theinvention, is the set of claims that issue from this application, in thespecific form in which such claims issue, including any subsequentcorrection. Any definitions expressly set forth herein for termscontained in such claims shall govern the meaning of such terms as usedin the claims. Hence, no limitation, element, property, feature,advantage or attribute that is not expressly recited in a claim shouldlimit the scope of such claim in any way. The specification and drawingsare, accordingly, to be regarded in an illustrative rather than arestrictive sense.

5.0 EXAMPLES

In an embodiment, a method comprises or one or more storage mediastoring instructions which, when executed by one or more computingdevices, cause performance of the steps: generating a graphical userinterface comprising a set of items displayed as a continuous loop ofitems, each item comprising a link to media content, the set of itemscomprising a plurality of views of the items, a view comprising a subsetof the items displayed to a user at a point in time, each view changingas the continuous loop of items is traversed, generating the graphicaluser interface further comprises: determining numbers of items in theset of items that are to originate from each particular group of one ormore content sources of a plurality of groups of one or more contentsources until all items in the set of items are accounted; based uponthe numbers of items, populating items from each particular group of oneor more content sources to the set of items until the amount for eachparticular group of one or more content sources has been satisfied;displaying, at a multimedia device, a menu page to a user; displaying,in a particular area of the menu page, the graphical user interface tothe user.

In an embodiment, a method or one or more storage media storinginstructions wherein generating further comprises determining apercentage chance that a particular group of one or more content sourceswould appear in the set of items and determining the amount of itemsthat are to originate from a particular group of one or more contentsources is based at least in part upon the percentage chance.

In an embodiment, a method or one or more storage media storinginstructions wherein a specific order is followed based upon type ofcontent to populate the graphical user interface.

In an embodiment, a method or one or more storage media storinginstructions wherein the specific order comprises first populatingbusiness required items to the set of items.

In an embodiment, a method or one or more storage media storinginstructions wherein a content source comprises contextual andnon-contextual content sources.

In an embodiment, a method or one or more storage media storinginstructions wherein the amount of items determined is based at leastpart upon user command input received that indicates preferences ofgroups of one or more content sources.

In an embodiment, a method or one or more storage media storinginstructions wherein the items comprise images that correspond to mediacontent linked to the item.

In an embodiment, a method or one or more storage media storinginstructions wherein each item in the set of items is determined to bewithin a context of a current displayed screen.

In an embodiment, a method or one or more storage media storinginstructions wherein the link to media content comprises a link to afeed of media content.

In an embodiment, a method or one or more storage media storinginstructions wherein the link to media content comprises a link to acollection of media content.

In an embodiment, a method or one or more storage media storinginstructions further comprising receiving, at a server, a request fromthe multimedia device to generate the graphical user interface and theserver transferring the graphical user interface to the multimediadevice for display.

In an embodiment, an apparatus comprising a graphical user interfacegenerating subsystem that generates a graphical user interfacecomprising a set of items displayed as a continuous loop of items, eachitem comprising a link to media content, the set of items comprising aplurality of views of the items, a view comprising a subset of the itemsdisplayed to a user at a point in time, each view changing as thecontinuous loop of items is traversed, generating further comprises: adetermining subsystem that determines numbers of items in the set ofitems that are to originate from each particular group of one or morecontent sources of a plurality of groups of one or more content sourcesuntil all items in the set of items are accounted; a populationsubsystem that, based upon the numbers of items, populates items fromeach particular group of one or more content sources to the set of itemsuntil the amount for each particular group of one or more contentsources has been satisfied; a display subsystem that displays, at amultimedia device, a menu page to a user; the display subsystemdisplaying, in a particular area of the menu page, the graphical userinterface to the user.

In an embodiment, an apparatus wherein generating further comprises apercentage determining subsystem that determines a percentage chancethat a particular group of one or more content sources would appear inthe set of items and determining the amount of items that are tooriginate from a particular group of one or more content sources isbased at least in part upon the percentage chance.

In an embodiment, an apparatus wherein a specific order is followedbased upon type of content to populate the graphical user interface.

In an embodiment, an apparatus wherein the specific order comprisesfirst populating business required items to the set of items.

In an embodiment, an apparatus wherein a content source comprisescontextual and non-contextual content sources.

In an embodiment, an apparatus wherein the amount of items determined isbased at least part upon user command input received that indicatespreferences of groups of one or more content sources.

In an embodiment, an apparatus wherein the items comprise images thatcorrespond to media content linked to the item.

In an embodiment, an apparatus wherein each item in the set of items isdetermined to be within a context of a current displayed screen.

In an embodiment, an apparatus wherein the link to media contentcomprises a link to a feed of media content.

In an embodiment, an apparatus wherein the link to media contentcomprises a link to a collection of media content.

In an embodiment, an apparatus further comprising a receiving subsystemthat receives, at a server, a request from the multimedia device togenerate the graphical user interface and a transfer subsystem thattransfers, from the server, the graphical user interface to themultimedia device for display.

1. A method, comprising: generating a graphical user interfacecomprising a set of items displayed as a continuous loop of items, eachitem comprising a link to media content, the set of items comprising aplurality of views of the items, a view comprising a subset of the itemsdisplayed to a user at a point in time, each view changing as thecontinuous loop of items is traversed, generating the graphical userinterface further comprises: determining numbers of items in the set ofitems that are to originate from each particular group of one or morecontent sources of a plurality of groups of one or more content sourcesuntil all items in the set of items are accounted; based upon thenumbers of items, populating items from each particular group of one ormore content sources to the set of items until the amount for eachparticular group of one or more content sources has been satisfied;displaying, at a multimedia device, a menu page to a user; displaying,in a particular area of the menu page, the graphical user interface tothe user.
 2. A method as recited in claim 1, wherein generating furthercomprises determining a percentage chance that a particular group of oneor more content sources would appear in the set of items and determiningthe amount of items that are to originate from a particular group of oneor more content sources is based at least in part upon the percentagechance.
 3. A method as recited in claim 1, wherein a specific order isfollowed based upon type of content to populate the graphical userinterface.
 4. A method as recited in claim 3, wherein the specific ordercomprises first populating business required items to the set of items.5. A method as recited in claim 1, wherein a content source comprisescontextual and non-contextual content sources.
 6. A method as recited inclaim 1, wherein the amount of items determined is based at least partupon user command input received that indicates preferences of groups ofone or more content sources.
 7. A method as recited in claim 1, whereinthe items comprise images that correspond to media content linked to theitem.
 8. A method as recited in claim 1, wherein each item in the set ofitems is determined to be within a context of a current displayedscreen.
 9. A method as recited in claim 1, wherein the link to mediacontent comprises a link to a feed of media content.
 10. A method asrecited in claim 1, wherein the link to media content comprises a linkto a collection of media content.
 11. A method as recited in claim 1,further comprising receiving, at a server, a request from the multimediadevice to generate the graphical user interface and the servertransferring the graphical user interface to the multimedia device fordisplay.
 12. A computer-readable storage medium storing one or moresequences of instructions, which when executed by one or moreprocessors, cause the one or more processors to carry out the steps of:generating a graphical user interface comprising a set of itemsdisplayed as a continuous loop of items, each item comprising a link tomedia content, the set of items comprising a plurality of views of theitems, a view comprising a subset of the items displayed to a user at apoint in time, each view changing as the continuous loop of items istraversed, generating the graphical user interface further comprises:determining numbers of items in the set of items that are to originatefrom each particular group of one or more content sources of a pluralityof groups of one or more content sources until all items in the set ofitems are accounted; based upon the numbers of items, populating itemsfrom each particular group of one or more content sources to the set ofitems until the amount for each particular group of one or more contentsources has been satisfied; displaying, at a multimedia device, a menupage to a user; displaying, in a particular area of the menu page, thegraphical user interface to the user.
 13. A computer-readable storagemedium as recited in claim 12, wherein generating further comprisesdetermining a percentage chance that a particular group of one or morecontent sources would appear in the set of items and determining theamount of items that are to originate from a particular group of one ormore content sources is based at least in part upon the percentagechance.
 14. A computer-readable storage medium as recited in claim 12,wherein a specific order is followed based upon type of content topopulate the graphical user interface.
 15. A computer-readable storagemedium as recited in claim 14, wherein the specific order comprisesfirst populating business required items to the set of items.
 16. Acomputer-readable storage medium as recited in claim 12, wherein acontent source comprises contextual and non-contextual content sources.17. A computer-readable storage medium as recited in claim 12, whereinthe amount of items determined is based at least part upon user commandinput received that indicates preferences of groups of one or morecontent sources.
 18. A computer-readable storage medium as recited inclaim 12, wherein the items comprise images that correspond to mediacontent linked to the item.
 19. A computer-readable storage medium asrecited in claim 12, wherein each item in the set of items is determinedto be within a context of a current displayed screen.
 20. Acomputer-readable storage medium as recited in claim 12, wherein thelink to media content comprises a link to a feed of media content.
 21. Acomputer-readable storage medium as recited in claim 12 wherein the linkto media content comprises a link to a collection of media content. 22.A computer-readable storage medium as recited in claim 12, furthercomprising receiving, at a server, a request from the multimedia deviceto generate the graphical user interface and the server transferring thegraphical user interface to the multimedia device for display.
 23. Anapparatus, comprising: a graphical user interface generating subsystemthat generates a graphical user interface comprising a set of itemsdisplayed as a continuous loop of items, each item comprising a link tomedia content, the set of items comprising a plurality of views of theitems, a view comprising a subset of the items displayed to a user at apoint in time, each view changing as the continuous loop of items istraversed, generating further comprises: a determining subsystem thatdetermines numbers of items in the set of items that are to originatefrom each particular group of one or more content sources of a pluralityof groups of one or more content sources until all items in the set ofitems are accounted; a population subsystem that, based upon the numbersof items, populates items from each particular group of one or morecontent sources to the set of items until the amount for each particulargroup of one or more content sources has been satisfied; a displaysubsystem that displays, at a multimedia device, a menu page to a user;the display subsystem displaying, in a particular area of the menu page,the graphical user interface to the user.
 24. An apparatus as recited inclaim 23, wherein generating further comprises a percentage determiningsubsystem that determines a percentage chance that a particular group ofone or more content sources would appear in the set of items anddetermining the amount of items that are to originate from a particulargroup of one or more content sources is based at least in part upon thepercentage chance.
 25. An apparatus as recited in claim 23, wherein aspecific order is followed based upon type of content to populate thegraphical user interface.
 26. An apparatus as recited in claim 25,wherein the specific order comprises first populating business requireditems to the set of items.
 27. An apparatus as recited in claim 23,wherein a content source comprises contextual and non-contextual contentsources.
 28. An apparatus as recited in claim 23, wherein the amount ofitems determined is based at least part upon user command input receivedthat indicates preferences of groups of one or more content sources. 29.An apparatus as recited in claim 23, wherein the items comprise imagesthat correspond to media content linked to the item.
 30. An apparatus asrecited in claim 23, wherein each item in the set of items is determinedto be within a context of a current displayed screen.
 31. An apparatusas recited in claim 23, wherein the link to media content comprises alink to a feed of media content.
 32. An apparatus as recited in claim 23wherein the link to media content comprises a link to a collection ofmedia content.
 33. An apparatus as recited in claim 23, furthercomprising a receiving subsystem that receives, at a server, a requestfrom the multimedia device to generate the graphical user interface anda transfer subsystem that transfers, from the server, the graphical userinterface to the multimedia device for display.